1

アプリのさまざまなバージョンをビルドするために、applicationPackageプロパティをビルド ファイルに追加しました。

jfxmobile {
   javafxportsVersion = '8.60.6'

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

packageただし、生成された apk ファイルの名前は、AndroidManifestのプロパティにちなんで付けられています。

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

"Lite" や "Full" など、さまざまなフレーバーのアプリをビルドする場合、パッケージ名を変更する適切な方法は何ですか?

4

1 に答える 1

2

現在、Gluon プラグインを使用してモバイル プロジェクトを作成するとAndroidManifest.xml、入力 (メイン クラス、パッケージ名) に基づいて jfxmobile プラグインがデフォルト ファイルをビルドします。その後、プロジェクトに加えた変更 (メイン クラス名やパッケージ名のリファクタリングなど)は Android マニフェスト ファイルで更新されないため、自分で手動で行う必要があります。

プラグインのソース コードを見ると、タスクを実行するたびにマニフェストを強制的に再作成する方法がありandroidます。src/android/AndroidManifest.xml の下のファイルを削除manifestし、ビルドでプロパティを削除するだけです。グラドルファイル。androidまたはを実行すると、プロパティを考慮してandroidIntall、新しいデフォルトのAndroid マニフェストが の下に作成されます。build/javafxports/tmp/androidapplicationPackage

これにより、権限の追加や削除、バージョン番号の変更など、マニフェストのカスタム変更が許可されないことに注意してください。したがって、完全な解決策ではないことは明らかです。

もう 1 つの方法は、プラグイン自体が行う方法に基づいて、独自の設定に基づいて AndroidManifest ファイルを再作成するカスタム タスクを作成することです。

apk をビルドするために、より動的なソリューションが必要であると思われる場合は、javafxports リポジトリで問題を報告できますたとえば、strings.xmlファイルを使用してメタデータ (@string) を設定する Android と同じアプローチを使用できます。

于 2016-05-23T23:20:24.997 に答える