問題文: ライブラリは開発環境でのみ使用しますが、リリース時には使用しません(アプリストアリリース)。 そして私はそのライブラリをリリースapkでもビルドしたくありません。Android:ライブラリをロードし、リリース用ではない開発ブランチ用にのみ使用
マイappraoch:だから
、私はこのような環境のセットアップ:
開発 -
- デバッグ
- リリース
ストア -
- デバッグ
- リリース -開発のために、このライブラリをロード
debugCompile 'com.some.library'
- - デバッグとストア>これは私が追加したのGradleで店舗
を再生するために行きます - デバッグ
その後、私は2つのアプリケーションクラス、
- ApplicationWithoutDebugLibraryを作成しているMultiDexApplicationを拡張 - ライブラリを初期化しないアプリケーションクラス。
- ApplicationWithDebugLibraryはApplicationWithoutDebugLibraryを拡張 - ライブラリ
を初期化そして、私は別の味のために別のアプリケーションファイルをロードするためのGradleで定義されているアプリケーションクラス。
productFlavors {
Development {
applicationId "xyzzzz"
manifestPlaceholders = [application:"com.xyz.ApplicationWithDebugLibrary"]
}
store {
applicationId "11111"
manifestPlaceholders = [application:"com.xyz.ApplicationWithoutDebugLibrary"]
}
}
とマニフェストに私はこれ書いた:デバッグのためにそれが正常に動作しているが、私は店-リリース/開発・リリースAPKを構築していたときに、ApplicationWithDebugLibraryをコンパイルすることはできませんので、
<application
android:name="${application}"...
を.java、私はライブラリを使用しています。これはリリース風味のためにgradleファイルでコンパイルされていません。
Storeリリースのフレーバーや、開発環境でのみそのライブラリをロードできる代替ソリューションの読み込みを避ける方法はありますか?
のGradleのクラスと書き込みスクリプトの動的ロードについて同じことを何をすべきか。 私はそれが可能かどうかわからない、私は知っているだけ好奇心の多くの場所でそれについて読んできた。 – aamitarya
コメントを再入力してください。私はあなたが本当に何を意味するかを知りません。 –
私は、いくつかの条件に基づいてクラスをコンパイルするための動的クラスの読み込みまたは書き込みスクリプトをgradleで使用することができますか? – aamitarya