Android项目中使用javacv和javacpp的代码混淆配置
来源:互联网 发布:程序员常用字体 编辑:程序博客网 时间:2024/06/05 11:01
最近一个项目中涉及到了视频录制,使用到了javacv和javacpp,于是在打包混淆的时候出了问题,总是报错,错误信息如下:
02-27 13:43:53.400: E/AndroidRuntime(25640): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load jniPointer: findLibrary returned null02-27 13:43:53.400: E/AndroidRuntime(25640): at java.lang.Runtime.loadLibrary(Runtime.java:365)02-27 13:43:53.400: E/AndroidRuntime(25640): at java.lang.System.loadLibrary(System.java:535)02-27 13:43:53.400: E/AndroidRuntime(25640): at com.googlecode.javacpp.Loader.loadLibrary(Unknown Source)02-27 13:43:53.400: E/AndroidRuntime(25640): at com.googlecode.javacpp.Loader.load(Unknown Source)02-27 13:43:53.400: E/AndroidRuntime(25640): at com.googlecode.javacpp.Loader.load(Unknown Source)02-27 13:43:53.400: E/AndroidRuntime(25640): at com.googlecode.javacv.cpp.avcodec$AVPacket.<clinit>(Unknown Source)02-27 13:43:53.400: E/AndroidRuntime(25640): ... 12 more02-27 13:43:53.400: E/AndroidRuntime(25640): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load gnustl_static: findLibrary returned null02-27 13:43:53.400: E/AndroidRuntime(25640): ... 18 more
搞了一下午,头都大了,最后终于解决了:
相关配置如下:
-libraryjars libs/javacpp.jar
-libraryjars libs/javacv.jar
-dontwarn com.googlecode.**
-keep class com.googlecode.**{*;}
-keepattributes *Annotation*
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes SourceFile,LineNumberTable
刚开始没有添加:
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes SourceFile,LineNumberTable
添加之后就不报错了,至于这两行的具体作用,暂时我还没有查资料。
所有的混淆配置如下:
# To enable ProGuard in your project, edit project.properties# to define the proguard.config property as described in that file.## Add project specific ProGuard rules here.# By default, the flags in this file are appended to flags specified# in ${sdk.dir}/tools/proguard/proguard-android.txt# You can edit the include path and order by changing the ProGuard# include property in project.properties.## For more details, see# http://developer.android.com/guide/developing/tools/proguard.html# Add any project specific keep options here:# If your project uses WebView with JS, uncomment the following# and specify the fully qualified class name to the JavaScript interface# class:#-keepclassmembers class fqcn.of.javascript.interface.for.webview {# public *;#}-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-libraryjars libs/android-async-http-1.4.4.jar-libraryjars libs/android-support-v7-recyclerview.jar-libraryjars libs/mta-sdk-1.6.2.jar-libraryjars libs/open_sdk_r4547.jar-libraryjars libs/universal-image-loader-1.9.3.jar-libraryjars libs/javacpp.jar-libraryjars libs/javacv.jar-keep public class * extends android.app.Activity-keep public class * extends android.app.Application-keep public class * extends android.app.Service-keep public class * extends android.content.BroadcastReceiver-keep public class * extends android.content.ContentProvider-keep public class com.android.vending.licensing.ILicensingService-keepclasseswithmembernames class * { native <methods>;}-keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet);}-keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet, int);}-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String);}-keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *;}-keep class com.sina.**{*;}-dontwarn com.googlecode.**-keep class com.googlecode.**{*;}-keepattributes *Annotation*-keepattributes Exceptions,InnerClasses,Signature -keepattributes SourceFile,LineNumberTable-dontwarn android-async-http-1.4.4.jar.**-keep class android-async-http-1.4.4.jar.**{*;}
0 0
- Android项目中使用javacv和javacpp的代码混淆配置
- javacv和javacpp录制视频混淆打包后运行报错
- android FFMpeg 中加入混淆(Proguard ) JavaCPP 报错
- Android使用OpenCV和FFMpeg的简单方法-开源项目javacv的使用
- JavaCV的配置及使用
- JavaCV的配置及使用
- JavaCV的配置及使用
- Android 项目的代码混淆
- Android 项目的代码混淆
- Android项目的代码混淆
- android 项目通过eclipse混淆代码 打包 + proguard的配置
- android项目中关于proguard.cfg和proguard-project.txt 混淆文件的用法与配置
- 关于在Android中使用JavaCV的问题
- Android代码混淆的使用
- Android Studio中混淆代码配置步骤
- 混淆apk:Android中使用eclipse混淆apk和studio混淆app的不同
- 【android】如何混淆代码和相关配置
- Android项目代码混淆
- std::string
- BZOJ 3157 国王奇遇记 & BZOJ 3516 国王奇遇记加强版
- VS2008、Visual Assist X和Opencv
- 20150227题解
- Windows下vim方式操作软件+Gvim使用
- Android项目中使用javacv和javacpp的代码混淆配置
- 【小超_U3D】Unity3D占用内存太大的解决方法
- 理解线程同步
- net调用java接口
- android应用程序键盘事件机制
- 跨域用的所有资料
- 修改ASPxGridView的提示No data to display为图片或自定义文字
- Windows Gvim工程配置
- android游戏开发Bitmap的使用