为了构建我的应用程序的不同版本,我将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; ?
答案 0 :(得分:2)
目前,当您使用Gluon插件创建Mobile项目时,jfxmobile插件会根据您的输入(主类,包名称)构建默认的AndroidManifest.xml
文件。之后,您对项目所做的任何修改(如重构主类名称或包名称)都不会在Android清单文件上更新,因此您必须自己手动完成
如果您查看插件的source code,每次运行android
任务时都有一种强制重新创建清单的方法:只需删除src / android / AndroidManifest下的文件.xml,并删除build.gradle文件中的manifest
属性。当您运行android
或androidIntall
时,系统会在build/javafxports/tmp/android
下创建新的默认 Android清单,同时考虑您的applicationPackage
媒体资源。
请注意,这不允许在清单中进行任何自定义更改,例如添加或删除权限或更改版本号。很明显,这不是一个完整的解决方案。
另一种方法是创建一个自定义任务,根据您自己的设置,根据插件自身的方式重新创建AndroidManifest文件。
如果您认为构建apk需要更动态的解决方案,则可以在javafxports repo下提出问题。例如,允许使用与Android相同的方法,其中strings.xml
文件用于设置一些元数据(@string)。