8

Tôi đang cố gắng thử nghiệm bản phát hành ứng dụng Android với Proguard được bật. Tôi đã tạo tệp quy tắc Proguard bổ sung cho các phụ thuộc thử nghiệm được bao gồm trong tệp quy tắc phát hành.Phiên bản thử nghiệm và phiên bản ứng dụng Android được bảo vệ - NoSuchMethodError

-keep class android.test.** { *; } 
-dontwarn android.test.** 

# Reuse the release ProGuard mapping 
-applymapping proguard.map 
-dontshrink 
-dontoptimize 

Mọi thứ biên soạn tốt nhưng không thành công khi chạy.

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) 

Tôi đang sử dụng Espresso để thử nghiệm, các Á hậu bị đo đạc được định nghĩa trong build.gradle

defaultConfig { 
    testApplicationId 'package.name.test' 
    testInstrumentationRunner 'com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner' 
} 

Bất kỳ cơ hội để chạy thử nghiệm cho phiên bản build proguarded? Tôi đã tìm thấy topic từ tháng 5 và có vẻ như không thể. Đối với tôi có vẻ như nó chỉ là cấu hình Proguard sai (thiếu phương pháp), nhưng dòng -keep class android.test.** { *; } nên khắc phục vấn đề như vậy. Tui bỏ lỡ điều gì vậy?

+0

Hãy thử sử dụng câu trả lời của tôi trong một câu hỏi khác http://stackoverflow.com/a/15477898/1665964 –

Trả lời

0

Im cố gắng trợ giúp Thưa ông.

thay vì đó

-keep class android.test.** { *; } 
-dontwarn android.test.** 

thêm video này vào nó

-keep class android.test.** { *; } 
-keep class junit.** { *; } 
-dontwarn android.test.** 
-dontwarn junit.** 

thực sự đây là một "đoán-một-code" cứng hy vọng nó sẽ giúp

+0

Đây không phải là vấn đề. Không thành công khi chạy với 'NoSuchMethodError' tại' android.test.AndroidTestRunner.addTestListener', vì vậy giải pháp của bạn không giải quyết được sự cố. – tomrozb

Các vấn đề liên quan