Android プロジェクトを gradle ビルド システムに移行していますが、統合テスト Android プロジェクトから Android プロジェクトをインポートできません。
複数の Android ライブラリでマルチプロジェクト構成を使用しており、うまく機能していますが、マルチプロジェクト設定でテスト プロジェクトを設定する際に問題が発生しています。外的な理由から、この構造を使い続ける必要があります。
MyProject/
| settings.gradle
+ MyApp/
| build.gradle
| src
| res
| libs
+ Instrumentation-Tests/
| build.gradle
| src
| res
| libs
現在の構成ファイルは次のようになります。
settings.gradle:
include ':MyApp', 'Instrumentation-Tests'
MyAppp/build.gradle:
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('.....jar')
compile project('....')
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
そして最後に私のInstrumentation-Tests/build.gradle
:
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile project(':MyApp')
compile files('.....jar')
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
gradle compileDebug
プロジェクトを実行するMyApp
と (およびそのすべてのモジュールが) 正しくコンパイルされますがInstrumentation-Tests
、.NET で定義されている Android クラスが見つからないため、コンパイルは失敗しますMyApp
。
ドキュメントと多くの投稿を読みましたが、機能させることができませんでした。次のものも試しました:
compile(project(':MyApp')) { transitive = true }
依存関係を宣言するとき。
誰かが同じ問題を抱えていましたか?MyApp
プロジェクトの依存関係の出力をコンパイルのクラスパスに
含めたいのですが、androidプラグインInstrumentation-Tests
を使用してそれが可能かどうかはわかりません。gradle