在react-native应用程序中更改包名称

Dyl*_*mes 5 android gradle gradlew android-gradle-plugin react-native

我已经在react-native中创建了一个应用程序.我需要包名为:com.org.appname

React-native不允许您在init中将其指定为包名称,或者在init之后更改它.

react-native init --package="com.org.appname" 
Run Code Online (Sandbox Code Playgroud)

不起作用

更改包名称,如在React Native更改Android的包名称中所述也不起作用,并在react-native run-android上导致以下错误

无法完成会话:INSTALL_FAILED_VERSION_DOWNGRADE

big*_*oni 11

在iOS项目中,您只需要使用Xcode 更改BundleID.

在Android项目中,您需要更改4个文件中的名称:

android/app/src/main/java/com/reactNativeSampleApp/MainActivity.java
android/app/src/main/java/com/reactNativeSampleApp/MainApplication.java
android/app/src/main/AndroidManifest.xml
android/app/build.gradle
Run Code Online (Sandbox Code Playgroud)

好的做法是在两个地方修改 Android项目中的BUCK文件,并相应调整android项目中的层次结构,虽然没有必要:

BUCK文件:

 android_build_config(
     name = "build_config",
     package = "app.new.name",
 )

 android_resource(
     name = "res",
     package = "app.new.name",
     res = "src/main/res",
 )
Run Code Online (Sandbox Code Playgroud)

运行命令 ./gradlew clean


小智 6

根据这个https://saumya.github.io/ray/articles/72/,你可以从一开始就运行这个命令

react-native init MyAwesomeProject -package "com.example.app"
Run Code Online (Sandbox Code Playgroud)

但是,如果您已经通过生成应用程序

react-native init MyAwesomeProject
Run Code Online (Sandbox Code Playgroud)

您可以在文件中修改应用程序名称

android/app/src/main/res/values/strings.xml
Run Code Online (Sandbox Code Playgroud)

然后,您可以修改文件中的包名称

android/app/src/main/java/com/reactNativeSampleApp/MainActivity.java
android/app/src/main/java/com/reactNativeSampleApp/MainApplication.java
android/app/src/main/AndroidManifest.xml ( optional as per my experience )
android/app/build.gradle
Run Code Online (Sandbox Code Playgroud)

最后,运行以下命令(从应用程序的android /目录中)

./gradlew clean
./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

要更改iOS版本软件包名称,请使用Xcode