web-dev-qa-db-ja.com

リリースバージョンとデバッグバージョンで異なるマニフェストファイルを作成するにはどうすればよいですか?

Android StudioでAPKのデバッグバージョンとリリースバージョンに異なるマニフェストファイルを作成することは可能ですか?

通常、私はそのようなことをする必要はありませんが、デバッグモードでは、アプリケーションは異なるユーザーIDとプロセスで実行され、これはマニフェストで定義されます。デバッグマニフェストの差分を添付しました。

--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,5 +1,6 @@
 <manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
     package="com.mridang.address"
+    Android:sharedUserId="com.mridang.dashclock"
     Android:versionCode="10"
     Android:versionName="1.0" >

@@ -14,6 +15,7 @@
     <application
         Android:allowBackup="true"
         Android:icon="@drawable/ic_launcher"
+        Android:process="com.mridang.dashclock"
         Android:label="@string/application_name"
         Android:theme="@Android:style/Theme.Holo.Light.DarkActionBar" >

ビルドする前にデバッグマニフェストファイルを隠してポップすることに頭を悩ませています。2つの別々のマニフェストが可能であれば、それは素晴らしいことです。

13

Src /の下に「debug」フォルダーを作成し、そこに配置します: https://github.com/androidfu/Now-Playing/tree/master/app/src

私の「リリース」マニフェストはsrc/main /にありますが、2つの完全に別個のマニフェストファイルが必要な場合は、src/release /とsrc/debug /を使用できると確信しています。

29
Bill Mote

アプリにバリアントがあり、バリアントで使用するためにデバッグマニフェストをカスタマイズする必要がある私たちにとって、次の情報が役立つ場合があります。

  1. orderソースセットでオーバーライドすることはおそらく最も重要なことです。なぜなら、マージcascadesは優先順位チェーンの下にあるからです。 allデバッグビルドにマニフェストを持たせたい場合は、それをsrc/debugフォルダーに配置する必要があります-そうすると、すべてのバリアントのマニフェストがthis 1つをオーバーライドします。デバッグマニフェストを適用するのみ特定のバリアントが必要な場合は、それをsrc/variantnameDebug/AndroidManifest.xmlに配置する必要があります。
  2. バリアントの名前は、フォルダーの名前と完全に一致する必要があります。バリアントのビルドサイドバーには、バリアント名のリストと、選択したフルネームのバリアントが表示されます。ソースセットの可能なフォルダーの場所の包括的なレポートを取得する別の方法は、右側のGradleサイドバーから/ Tasks/Android/sourceSetsでgradleタスクを実行することです。
  3. マージされたマニフェストビューは不可欠であり、何が起こっているかをデバッグするためにおそらく最も役立つツールです。マニフェストファイルを開いたら、エディタのタブバーの下部を確認します。このビューに切り替えると、エラーや提案とともに、すべてのマニフェストがマージされた、コンパイルされた色付きのレポートが表示されます。

このマージの詳細なドキュメントは次のとおりです: https://developer.Android.com/studio/build/manifest-merge

1
Dhiraj Gupta

はい、可能です。次のパスを使用します。

デバッグマニフェスト:../ src/debug/AndroidManifest.xml

リリースマニフェスト:../ src/release/AndroidManifest.xml


Show Release Manifest on Android Studio:

  1. バリアントのビルドウィンドウを開く
  2. debugからreleaseに変更します
  3. プロジェクトに表示されます-> Android->マニフェスト
0
Paulo Pereira