テストの依存関係は次のとおりです。
// tests
androidTestCompile 'org.mockito:mockito-all:1.10.8'
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.3.1'
androidTestCompile 'junit:junit:4.12'
androidTestCompile ('org.robolectric:robolectric:2.4') {
exclude module: 'commons-logging'
exclude module: 'httpclient'
}
そして、私のdebug
ビルドタイプはminifyEnabled true
、DEX メソッドの制限に達しないようにしています。完全な建物は次のように定義されます。
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 15
targetSdkVersion 22
versionName VERSION_NAME
proguardFile getDefaultProguardFile('proguard-android.txt')
proguardFile 'proguard-rules.pro'
}
signingConfigs {
debug {
storeFile file('keystore/debug.keystore')
}
}
productFlavors {
develop {
versionCode versionBuild()
signingConfig signingConfigs.debug
proguardFile 'proguard-rules-debug.pro'
}
}
buildTypes {
debug {
minifyEnabled true
}
}
デフォルトのファイルとフレーバー用のproguard-rules.pro
追加ファイルがあります。proguard-rules-debug.pro
:proguardDevelopDebug
私が持っているオプションに基づいて、gradleタスクは正常に通過します。ただし、:proguardDevelopDebugAndroidTest
次のエラーで失敗します: http://pastebin.com/S623UGfP
ファイルに次を追加したので、これは奇妙です:
-dontobfuscate
# ------------------- TEST DEPENDENCIES -------------------
-dontwarn org.hamcrest.**
-dontwarn com.squareup.**
-dontwarn com.google.android.**
-keep class com.google.android.** {
*;
}
-keep class com.google.common.** {
*;
}
-keep class org.hamcrest.** {
*;
}
# Apache Maven
-keep class org.apache.maven.** { *; }
-dontwarn org.apache.maven.**
# Junit
-keep class org.junit.** { *; }
-dontwarn org.junit.**
# Mockito
-keep class org.mockito.** { *; }
-dontwarn org.mockito.**
# Robolectric
-keep class org.robolectric.** { *; }
-dontwarn org.robolectric.**
この2つが一緒に働かない理由はありますか?