web-dev-qa-db-ja.com

AndroidManifest.xmlファイルをカスタム注釈プロセッサで読み取り/修正/置換できますか

Androidアプリケーションのカスタムアノテーションプロセッサを調査しています。

アノテーションプロセッサを使用してAndroidManifest.xmlを読み取り/修正し、そこで言及されているすべてのアクティビティに次のインテントセクションを追加できるようにする使用例がありますか?

        <intent-filter>
            <action Android:name="com.my.package.name.my_activity.open"/>
            <category Android:name="Android.intent.category.DEFAULT" />
        </intent-filter>

これは可能ですか?

3
Hector

テンプレートAndroidManifest_template.xmlを作成し、gradleタスクを使用してAndroidManifest_template.xmlを実行し、アプリのビルドに使用される実際のAndroidManifest.xmlを生成できます。

つまり、AndroidManest.xmlはビルドの一時的な部分であり、テンプレートを取得して実際のファイルに変換したいXMLプリプロセッサーを使用できます。

1
user2199860

アプリのフレーバーに応じて条件付きでこれらのインテントを追加する場合は、gradleフレーバーとマニフェストマージを使用してこれを実現できます。フレーバーの詳細については、 https://developer.Android.com/studio/build)をご覧ください。/build-variants

Gradleを使用してマニフェストを変更する例については、次の質問も参照してください

https://stackoverflow.com/a/22759572/9640177

0
mayank1513