【问题标题】:Defining package name regarding buildType in cordova android project在cordova android项目中定义关于buildType的包名称
【发布时间】:2016-07-07 14:38:20
【问题描述】:

如何为我的 buildType 定义正确的包名称? 我有这个命令行来构建: cordova run android --device --buildType=beta

我有这个从命令行设置 buildType 的钩子(在准备之后):

fs.appendFileSync( buildExtras, "ext.postBuildExtras = {\nandroid.buildTypes." +
      ( isRelease ? "release" : "debug" ) + ".applicationIdSuffix='." + buildType + "'\n}" );

但是在AndroidManifest.xml中platforms/android/中的packageName是不对的。

仅当我在 config.xml 文件中手动更改时 widget id="com.exemple.beta" 那么AndroidManifest.xml包名是正确的

【问题讨论】:

    标签: cordova android-gradle-plugin phonegap-plugins urbanairship.com


    【解决方案1】:

    platforms/android/下创建一个build-extras.gradle文件,内容如下:

    android {
      buildTypes {
        debug {
          applicationIdSuffix ".debug"
        }
        release {
          applicationIdSuffix ".release"
        }
      }
    }
    

    一开始我也开始阅读cordova 5 documentation,但由于我使用的是cordova 6,我想它不再像他们的文档那样工作了(而且我在最新的文档中找不到相同的页面)。

    编辑 1: 这样做不会在执行cordova run android 时自动启动应用程序,因此您必须使用adb shell am start -n com.application.debug/com.application.MainActivity 手动启动它

    【讨论】:

    • 这里的问题是,在运行cordova run 时,它会尝试使用AnrdoidManfest.xml 中定义的packageId 启动应用程序,因此没有gradle 附加的后缀
    • @piotr_cz 是的,你是对的,我编辑了我的答案,谢谢
    • 最后一个cordova文档说文件必须在platforms/android/app cordova.apache.org/docs/en/latest/guide/platforms/android/…
    猜你喜欢
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 2016-08-05
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    相关资源
    最近更新 更多