2017-04-08 91 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。它爲我工作