为了构建我的应用程序的不同版本,我将 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" >
如果您想构建不同风格的应用(如“精简版”和“完整版”),更改包名称的正确方法是什么?
最佳答案
目前,当您使用 Gluon 插件创建 Mobile 项目时,jfxmobile 插件会根据您的输入(主类、包名称)构建默认的 AndroidManifest.xml
文件。之后,您对项目所做的任何修改(如重构主类名称或包名称)都不会更新到 Android list 文件中,因此您必须自己手动执行。
如果您查看 source code在插件中,有一种方法可以在每次运行 android
任务时强制重新创建 list :只需删除 src/android/AndroidManifest.xml 下的文件,然后删除 manifest
build.gradle 文件中的属性。当您运行 android
或 androidIntall
时,将在 build/javafxports/tmp/android
下创建一个新的默认 Android list >,考虑到您的 applicationPackage
属性。
请注意,这将不允许在 list 中进行任何自定义更改,例如添加或删除权限或更改版本号。很明显,这不是一个完整的解决方案。
另一种方法是创建一个自定义任务,该任务根据您自己的设置重新创建 AndroidManifest 文件,基于插件本身的执行方式。
您可以在 javafxports repo 下提交问题如果您认为构建 apk 需要更动态的解决方案。例如,允许使用与 Android 中相同的方法,其中 strings.xml
文件用于设置一些元数据 (@string)。
关于android - 如何更改 Gluon Mobile 项目中的 applicationId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400826/