Proguard混淆代碼時,報出如下異常:java
Proguard returned with error code 1. See console Note: there were 169 duplicate class definitions. Warning: library class android.test.AndroidTestCase extends or implements program class junit.framework.TestCase Warning: library class android.test.AndroidTestRunner extends or implements program class junit.runner.BaseTestRunner Warning: library class android.test.InstrumentationTestCase extends or implements program class junit.framework.TestCase Warning: library class android.test.InstrumentationTestSuite extends or implements program class junit.framework.TestSuite Warning: library class android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests extends or implements program class junit.framework.TestCase You should check if you need to specify additional program jars. Warning: there were 5 instances of library classes depending on program classes. You must avoid such dependencies, since the program classes will be processed, while the library classes will remain unchanged. java.io.IOException: Please correct the above warnings first. at proguard.Initializer.execute(Initializer.java:321) at proguard.ProGuard.initialize(ProGuard.java:211) at proguard.ProGuard.execute(ProGuard.java:86) at proguard.ProGuard.main(ProGuard.java:492)
分析解決:項目的邏輯業務類在進行Junit4測試時引入了Junit4類庫,混淆時將其當作了第三方JAR包,所以須要將其排除(Remove from Build Path)。android
問題來了:Junit4應該屬於系統自帶的類庫,而混淆只需排除第三方類庫,Proguard混淆時是否誤將Junit4當作了第三方類庫?仍是Junit4自己就是第三方類庫?望大神指教~~
測試