Proguard açıkken Android uygulamasının sürüm oluşturulmasını test etmeye çalışıyorum. Sürüm kuralları dosyasında bulunan test bağımlılıkları için ek Proguard kuralları dosyası oluşturdum.Test sürümü ve Android uygulamasının proguarded sürümü - NoSuchMethodError
-keep class android.test.** { *; }
-dontwarn android.test.**
# Reuse the release ProGuard mapping
-applymapping proguard.map
-dontshrink
-dontoptimize
Her şey iyi derler ama zamanında başarısız olur.
java.lang.NoSuchMethodError: android.test.AndroidTestRunner.addTestListener
at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.start(ProGuard:135)
at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner$BridgeTestRunner.start(ProGuard:249)
at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:389)
at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.onCreate(ProGuard:114)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4702)
at android.app.ActivityThread.access$1600(ActivityThread.java:172)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1362)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5586)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
Ben test için Espresso kullanıyorum
, enstrümantasyon koşucu
defaultConfig {
testApplicationId 'package.name.test'
testInstrumentationRunner 'com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner'
}
build.gradle
proguarded sürüm oluşturma için testler herhangi bir şans tanımlanır? Mayıs ayından itibaren topic'u buldum ve imkansız gibi görünüyor. Benim için yanlış Proguard yapılandırması (eksik yöntem) gibi görünüyor, ancak -keep class android.test.** { *; }
hattı böyle bir sorunu düzeltmelidir. Bir şey mi eksik?
başka soru sorulabilir Cevabımı kullanmak deneyin umut olur http://stackoverflow.com/a/15477898/1665964 –