この問題に関するヘルプを高低で検索しましたが、まだ何も見つかりません。
新しいビルドシステムを使用してビルドとアプリケーションを開始しています。このプロジェクトでは、無料とプロの 2 つの製品フレーバーを使用しています。gradle.build ファイルは次のとおりです。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 17
}
productFlavors {
free {
packageName "com.example.free"
buildConfig "public static final Boolean versionPro = true;"
}
pro {
packageName "com.example.pro"
buildConfig "public static final Boolean versionPro = false;"
}
}
}
dependencies {
compile 'com.android.support:support-v4:13.0.+'
}
私は src ファイル構造を次のように構築しました。これは正常に動作します。
-main -java -memphic -dodger -game -java ファイル
-無料 -java -memphic -dodger -無料 -java ファイル
-pro -java -memphic -dodger -pro -java ファイル
メイン アクティビティからフレーバー ソース ファイルのクラスを参照する方法を知りたいです。メインの Java ファイルで以下のコードを使用して、無料のパッケージ クラス ファイルを参照してみました。
com.example.free.ClassFile.addObject();
これは、パッケージを見つけることができるため、無料バージョンをビルドするときに機能します。ただし、プロ版をビルドすると、パッケージ参照が見つかりません。
クラスファイルで別のパッケージを動的に参照できる方法はありますか? そのため、プロ版とフリー版をコンパイルすると、パッケージが動的に検出されます。方法が思いつきません。
また、このような概念はGradleビルドの外ではカバーされていないため、新しいビルドの概念を使用する方法の実用的な例がどこにあるのか知っている人はいますか?