私のAndroidプロジェクトをgradleビルドシステムに移行しています。AndroidプロジェクトをIntegration Test Androidプロジェクトからインポートできません。gradleビルドシステムを使用してAndroid apkを作成する
いくつかのアンドロイドライブラリで複数のプロジェクト設定を使用していますが、うまくいきますが、テストプロジェクトを複数のプロジェクト設定でセットアップする際に問題があります。外的理由から、私はこの構造を使い続ける必要があります。
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
:
MyProject/
| settings.gradle
+ MyApp/
| build.gradle
| src
| res
| libs
+ Instrumentation-Tests/
| build.gradle
| src
| res
| libs
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
で定義されたアンドロイドクラスが見つからないため、MyApp
は正しくコンパイルされますが、Instrumentation-Tests
のコンパイルは失敗します。
私はドキュメントや記事をたくさん読んできましたが、私はそれを動作させることができなかった、私はまた、使用してみましたか:
compile(project(':MyApp')) { transitive = true }
依存性を宣言するとき。
誰にも同じ問題がありましたか? MyApp
プロジェクトの依存関係の出力をInstrumentation-Tests
コンパイルのクラスパスに含めたいと思いますが、それがandroid gradle
プラグインを使用して可能かどうかわかりません。
あなたは次のようなものを読んでいますか?http://stackoverflow.com/questions/16586409/how-can-i-create-tests-in-android-studioとthis:http://tools.android。 com/tech-docs/new-build-system/user-guide#TOC-Testing?あなたがそれらの指示に従っていたのですが、あなたの現在のセットアップでうまくいくなら、ソースセットの場所を変更したのでしょうか?おそらく、プロジェクトルートを基準にテストソースディレクトリを指定する必要があります。 – jDutton
私はすべてをグラデル構造に動かしてしまいました。私はinstrumentationTestフォルダ内のすべての私の計測テスト(ユニットと機能)も動かしました。 – David