2014-01-31 46 views
2

嗨,我正在開發一個Javacv的應用程序。該應用程序工作正常,直到我proguard構建。在編程之後,應用程序在jni函數調用的地方崩潰。使用Javacv編程的android項目給出了異常

-dontshrink 
-dontoptimize 
-dontpreverify 

-dontwarn android.support.** 

-keep class com.googlecode.javacv.** 
-dontwarn com.googlecode.javacv.** 

-keep class com.googlecode.javacpp.** 
-dontwarn com.googlecode.javacpp.** 

-keepclasseswithmembernames class * { 
    native <methods>; 
} 

-keepattributes *Annotation* 

我找不到任何解決我的問題的答案。我得到NoSuchMethodError。任何人都可以幫助我。我正在使用最新版本的Javacv庫。

+0

請張貼錯誤日誌中的問題。 – user3243163

回答

2

你必須保持你的本地方法(你已經在做),以及從本地代碼中調用的Java方法。

您可以保留所有javacv和javacpp方法,像這樣:

-keep class com.googlecode.javacv.**{ *; } 
-keepclassmembers class com.googlecode.javacv.** { 
    <methods>; 
} 
-keep class com.googlecode.javacpp.**{ *; } 
-keepclassmembers class com.googlecode.javacpp.** { 
    <methods>; 
} 

另外,如果你想削減在生成輸出警告:

-dontwarn com.googlecode.javacv.**, com.googlecode.javacpp.** 
-dontnote com.googlecode.javacv.**, com.googlecode.javacpp.** 
相關問題