diff --git a/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactPlugin.kt b/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactPlugin.kt index 85f8ca32aaf142..3d40455a43a366 100644 --- a/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactPlugin.kt +++ b/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactPlugin.kt @@ -18,6 +18,7 @@ import com.facebook.react.tasks.GenerateEntryPointTask import com.facebook.react.tasks.GeneratePackageListTask import com.facebook.react.utils.AgpConfiguratorUtils.configureBuildConfigFieldsForApp import com.facebook.react.utils.AgpConfiguratorUtils.configureBuildConfigFieldsForLibraries +import com.facebook.react.utils.AgpConfiguratorUtils.configureBuildTypesForApp import com.facebook.react.utils.AgpConfiguratorUtils.configureDevServerLocation import com.facebook.react.utils.AgpConfiguratorUtils.configureNamespaceForLibraries import com.facebook.react.utils.BackwardCompatUtils.configureBackwardCompatibilityReactMap @@ -84,6 +85,7 @@ class ReactPlugin : Plugin { configureAutolinking(project, extension) configureCodegen(project, extension, rootExtension, isLibrary = false) configureResources(project, extension) + configureBuildTypesForApp(project) } // Library Only Configuration diff --git a/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/utils/AgpConfiguratorUtils.kt b/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/utils/AgpConfiguratorUtils.kt index f8bee6923f901c..f33353349b2c85 100644 --- a/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/utils/AgpConfiguratorUtils.kt +++ b/packages/gradle-plugin/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/utils/AgpConfiguratorUtils.kt @@ -19,6 +19,7 @@ import java.net.Inet4Address import java.net.NetworkInterface import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory +import kotlin.plus import org.gradle.api.Action import org.gradle.api.Project import org.gradle.api.plugins.AppliedPlugin @@ -27,6 +28,26 @@ import org.w3c.dom.Element @Suppress("UnstableApiUsage") internal object AgpConfiguratorUtils { + fun configureBuildTypesForApp(project: Project) { + val action = + Action { + project.extensions + .getByType(ApplicationAndroidComponentsExtension::class.java) + .finalizeDsl { ext -> + ext.buildTypes { + val debug = + getByName("debug").apply { + manifestPlaceholders["usesCleartextTraffic"] = "true" + } + getByName("release").apply { + manifestPlaceholders["usesCleartextTraffic"] = "false" + } + } + } + } + project.pluginManager.withPlugin("com.android.application", action) + } + fun configureBuildConfigFieldsForApp(project: Project, extension: ReactExtension) { val action = Action { diff --git a/packages/rn-tester/android/app/src/debug/AndroidManifest.xml b/packages/rn-tester/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index fa26aa56e1c144..00000000000000 --- a/packages/rn-tester/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/packages/rn-tester/android/app/src/main/AndroidManifest.xml b/packages/rn-tester/android/app/src/main/AndroidManifest.xml index bd35388167baa1..a842f3a0d29136 100644 --- a/packages/rn-tester/android/app/src/main/AndroidManifest.xml +++ b/packages/rn-tester/android/app/src/main/AndroidManifest.xml @@ -50,6 +50,7 @@ - - - - diff --git a/private/helloworld/android/app/src/main/AndroidManifest.xml b/private/helloworld/android/app/src/main/AndroidManifest.xml index 4122f36a590a44..fe3dfae11627d8 100644 --- a/private/helloworld/android/app/src/main/AndroidManifest.xml +++ b/private/helloworld/android/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" + android:usesCleartextTraffic="${usesCleartextTraffic}" android:theme="@style/AppTheme">