【问题标题】:Changing the package name in a react-native app在 react-native 应用程序中更改包名称
【发布时间】: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

【问题讨论】:

    标签: android gradle react-native android-gradle-plugin gradlew


    【解决方案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

        【讨论】:

          猜你喜欢
          • 2020-04-17
          • 2016-04-20
          • 2016-09-20
          • 2016-11-29
          • 2020-12-09
          • 2017-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多