كيفية السماح بجميع أنواع اتصالات الشبكة HTTP و HTTPS في Android 9 (Pie) على Kotlin؟
مرحبًا! أقوم بتطوير تطبيق على Kotlin لنظام Android، وواجهت مشكلة عند الاختبار على جهاز يعمل بنظام 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"` في البيان (manifest) لكن ذلك لم يساعد. كما سمعت عن ملف network_security_config.xml، لكني لا أعرف كيف