Android プロジェクト用に 2 つのカスタム アプリケーションを設計したいと考えています。カスタム アプリケーションは、アプリケーションを拡張するアプリケーションです。リリース ビルドにカスタム アプリケーションを追加し、デバッグ ビルドに別のアプリケーションを追加したいと考えています。LeakCanary サイトでは、「 no-op 依存関係のカスタマイズと使用」というラベルの付いたセクションでこれについて説明しています。
AndroidManifestで別のアプリケーションを宣言する方法がわかりません。現在、次のような単一のカスタム アプリケーションを使用するように設定しています。
public class MyFirstCustomApplication extends Application {
@Override public void onCreate() {
super.onCreate();
LeakCanary.install(this);
}
}
上記のコードをデバッグ専用にするにはどうすればよいですか?
androidManifest オーバーライドは次のようになります。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name="org.somesite.cool.MyFirstCustomApplication">
別の MySecondCustomApplication をリリースするにはどうすればよいですか?
更新:gradleでbulidTypesを調べるという提案について、デバッグアプリケーションのオーバーライドのために次の構造を作成したと想像してください:
[Project Root]
-[Module]
-src
-main
-ExampleApplication
-res
-debug
-DebugExampleApplication
-res
したがって、buildTypes を正しく理解していれば、リリースとデバッグの両方に使用されるメイン フォルダー (デフォルト/フォールバック) しかない場合でも、デバッグ フォルダーを指定すると、デバッグ フレーバーを実行すると、mockDebug、qaDebug のようになる可能性があります。などの場合、最初にファイルのデバッグ フォルダーを検索し、見つからない場合はメインに移動しますが、それは正しいですか?
また、マニフェストでどちらを使用するかをどのように宣言しますか? gradle ファイルはどのようになりますか?