【问题标题】:How to change the applicationId in a Gluon Mobile Project如何在 Gluon 移动项目中更改 applicationId
【发布时间】:2016-05-23 21:25:27
【问题描述】:

为了构建我的应用程序的不同版本,我在构建文件中添加了applicationPackage 属性:

jfxmobile {
   javafxportsVersion = '8.60.6'

       android {
            manifest = 'src/android/AndroidManifest.xml'
            applicationPackage = 'com.myapp.lite'
       }
}

但是生成的apk文件还是以AndroidManifest中的package属性命名的:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp"
    android:versionCode="1"
    android:versionName="1.0.0" >

如果您想构建不同风格的应用(如“Lite”和“Full”),更改包名称的正确方法是什么?

【问题讨论】:

    标签: android gluon gluon-mobile


    【解决方案1】:

    目前,当您使用 Gluon 插件创建 Mobile 项目时,jfxmobile 插件会根据您的输入(主类、包名)构建默认的 AndroidManifest.xml 文件。之后,您对项目所做的任何修改(如重构主类名或包名)都不会在 Android 清单文件上更新,因此您必须自己手动进行。

    如果您查看插件的source code,有一种方法可以在每次运行android 任务时强制重新创建清单:只需删除 src/android/AndroidManifest.xml 下的文件,然后删除 build.gradle 文件中的 manifest 属性。当您运行androidandroidIntall 时,将在build/javafxports/tmp/android 下创建一个新的默认 Android 清单,同时考虑到您的applicationPackage 属性。

    请注意,这将不允许对清单进行任何自定义更改,例如添加或删除权限或更改版本号。很明显,这不是一个完整的解决方案。

    另一种方法是创建一个自定义任务,该任务根据您自己的设置重新创建 AndroidManifest 文件,具体取决于插件本身的执行方式。

    如果您认为构建 apk 需要更动态的解决方案,您可以在 javafxports repo 下提交问题。例如,允许使用与 Android 中相同的方法,其中 strings.xml 文件用于设置一些元数据(@string)。

    【讨论】:

    • 再次非常有趣。我假设androidApplication 属性像defaultConfig {applicationId "com.myApp.lite"} 一样工作。在我第一次发布 Play 商店的过程中,您一直是一个很好的帮助来源,而如果没有 Gluon 框架,这又是不可能的。非常感谢您的帮助
    猜你喜欢
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多