在 react-native 应用程序中更改包名称
Posted
技术标签:
【中文标题】在 react-native 应用程序中更改包名称【英文标题】:Changing the package name in a react-native app 【发布时间】:2017-09-03 17:31:41 【问题描述】:我在 react-native 中创建了一个应用程序。我需要包名称为: com.org.appname
React-native 不允许你在 init 中指定这个作为包名,或者在 init 之后改变它。
react-native init --package="com.org.appname"
没用
如Change package name for android in React Native 中所述更改包名称也不起作用,并导致 react-native run-android 出现以下错误
未能完成会话:INSTALL_FAILED_VERSION_DOWNGRADE
【问题讨论】:
【参考方案1】:在 ios 项目中,您只需使用 Xcode 更改 BundleID。
在 Android 项目中,您需要在 4 个文件中更改 package 名称:
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
好的做法也是在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",
)
运行命令
./gradlew clean
【讨论】:
这个有更新吗?目前仅使用 Xcode 更改 BundleID 不适用于 RN 0.61。【参考方案2】:根据这个https://saumya.github.io/ray/articles/72/,你可以从头运行这个命令
react-native init MyAwesomeProject -package "com.example.app"
但是如果你已经通过
生成了你的应用react-native init MyAwesomeProject
您可以在文件中修改应用名称
android/app/src/main/res/values/strings.xml
然后你可以在文件中修改包名
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
最后,运行以下命令(从应用的 android/ 目录中)
./gradlew clean
./gradlew assembleRelease
要更改 iOS 版本包名称,请使用 Xcode
【讨论】:
这些东西记录在哪里?甚至只是cli选项?为这个项目投入了这么多东西,却没有任何详细的文档!-package
选项不支持,不起作用且链接中的文章其他方式不正确,建议删除。【参考方案3】:
我使用 react-native-rename npm 包。
使用安装
npm install react-native-rename -g
然后从你的 React Native 项目的根目录执行以下操作
react-native-rename "MyApp" -b com.mycompany.myapp
react-native-rename on npm
【讨论】:
【参考方案4】:如果您的文本编辑器能够替换所有项目文件中的字符串,那么更改包 ID 非常容易。
我正在使用 phpStorm,我只是在我的所有项目文件中将 old.package.id 替换为 new.package.id。它对我有用
【讨论】:
【参考方案5】:只需在这 4 个文件中更改您的包名
android => app => src => main => java => com => reactNativeSampleApp => MainActivity.java & MainApplication.java android => app => src => main => AndroidManifest.xml android => app => build.gradle
【讨论】:
以上是关于在 react-native 应用程序中更改包名称的主要内容,如果未能解决你的问题,请参考以下文章
更改项目名称后 react-native run-ios 将不起作用