如何更改Gluon Mobile项目中的applicationId

时间:2016-05-23 21:25:28

标签: android gluon gluon-mobile

为了构建我的应用程序的不同版本,我将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" >

如果您想要构建不同风格的应用程序,例如&#34; Lite&#34;那么更改软件包名称的正确方法是什么?和&#34;完整&#34; ?

1 个答案:

答案 0 :(得分:2)

目前,当您使用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)。