android - 如何更改 Gluon Mobile 项目中的 applicationId

标签 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" >

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

最佳答案

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

如果您查看 source code在插件中,有一种方法可以在每次运行 android 任务时强制重新创建 list :只需删除 src/android/AndroidManifest.xml 下的文件,然后删除 manifest build.gradle 文件中的属性。当您运行 androidandroidIntall 时,将在 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/

相关文章:

android - Gradle Build花费太长时间才能完成

java - 在 Android 上拍摄背景照片

android - Javafxports 和 Gluon 魅力 - 如何在不将 Android 连接到 PC 的情况下生成 apk

gluon-mobile - 如何在 Android 和 iOS 上的客户端和服务器之间发送 Java 对象?

gradle - 无法将 Gluon Mobile 编译到 iOS

android - Android 中平板电脑的驱动 USB 调试

android - 制作具有原生外观和感觉的混合应用程序

javafx - Gluon 移动 iOS 音频播放器

eclipse - 如何使用 Gradle 在 Gluon 项目中设置 JUnit 测试

java - SettingsPane 中的属性类型与其编辑器之间的映射是什么?