2017-04-08 59 views
3

我已经在反应本机中创建了一个应用程序。我需要的软件包名称如下: com.org.appname在反应本机应用程序中更改包名

React-native不允许您将其指定为init中的软件包名称,或者在init之后对其进行更改。

react-native init --package="com.org.appname" 

不起作用

更改包的名称为Change package name for Android in React Native结果的反应本地运行的Android

无法完成会话描述也不起作用,并在以下错误:INSTALL_FAILED_VERSION_DOWNGRADE

回答

6

根据这一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

+0

这东西记录在哪里?即使只是cli选项?非常疯狂,已经投入到这个项目中,但没有详细的文档! – pstanton

+0

'-package'选项不受支持,不起作用,链接中的文章在其他方面不正确,建议将其删除。 – pstanton

7

在iOS的项目,你只需要改变BundleID和Xcode。

在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 

好的做法也修改BUCK文件在Android项目,在两个地方,并相应地在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

0

如果你能够在所有项目的替换字符串文本编辑器文件是很容易改变包ID。

我正在使用PhpStorm,并在所有项目文件中将new.package.id替换为old.package.id。它为我工作

相关问题