Android 9 (Pie) पर Kotlin में सभी प्रकार के HTTP और HTTPS नेटवर्क कनेक्शन को कैसे अनुमति दें?
नमस्ते! मैं Android के लिए Kotlin में एक ऐप विकसित कर रहा हूँ, और Android 9 (Pie) वाले डिवाइस पर परीक्षण करते समय एक समस्या का सामना करना पड़ा। मेरा ऐप एक सर्वर पर HTTP अनुरोध भेजता है जो HTTPS और HTTP दोनों का उपयोग करता है (परीक्षण वातावरण के लिए)। Android 8 और उससे नीचे सब कुछ ठीक काम करता था, लेकिन Android 9 (API 28) पर मुझे त्रुटि मिलती है "Cleartext HTTP traffic to my-server.com not permitted"।
यहाँ मैं Retrofit का उपयोग करके अनुरोध कैसे कर रहा हूँ:
```kotlin
interface ApiService {
@GET("api/data")
suspend fun getData(): Response
}
val retrofit = Retrofit.Builder()
.baseUrl("http://my-test-server.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
```
मैं समझता हूँ कि Google ने Android 9 में सुरक्षा आवश्यकताओं को कड़ा कर दिया है, लेकिन मुझे डिबगिंग के लिए अस्थायी रूप से सभी प्रकार के कनेक्शनों की अनुमति देनी है। मैंने मेनिफेस्ट में `android:usesCleartextTraffic="true"` जोड़ने की कोशिश की, लेकिन इससे मदद नहीं मिली। मैंने network_security_config.xml फ़ाइल के बारे में भी सुना है, लेकिन नहीं जानता कि कैसे