混淆和7.0以上程序能运行,以下崩溃的原因(第三方类找不到)Zbar程序切到后台扫描出现黑屏

混淆:

-optimizationpasses 5          # 指定代码的压缩级别
-dontusemixedcaseclassnames   # 是否使用大小写混合
-dontpreverify           # 混淆时是否做预校验
-verbose                # 混淆时是否记录日志

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  # 混淆时所采用的算法

-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 * extends android.app.backup.BackupAgentHelper # 保持哪些类不被混淆
-keep public class * extends android.preference.Preference        # 保持哪些类不被混淆
-keep public class com.android.vending.licensing.ILicensingService    # 保持哪些类不被混淆
#避免混淆泛型
-keepattributes Signature
-keepattributes *Annotation*
#所有R文件
-keep class **.R$* { *; }
-dontwarn com.iflytek.**
-keep class com.iflytek.** {*;}
#webview的js接口
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
   public *;
}

#baserecycleviewadapterhelper
-keep class com.chad.library.adapter.** {
   *;
}
#实体类
-keep class com.xiyoukeji.baotu.entity.** { *; }

-keepclasseswithmembernames class * {  # 保持 native 方法不被混淆
    native <methods>;
}
-keepclasseswithmembers class * {   # 保持自定义控件类不被混淆
    public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {# 保持自定义控件类不被混淆
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity { # 保持自定义控件类不被混淆
    public void *(android.view.View);
}
-keepclassmembers enum * {     # 保持枚举 enum 类不被混淆
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆
    public static final android.os.Parcelable$Creator *;
}

#忽略警告
-ignorewarnings

# 保持属性不管
-keepattributes Signature

# 第三方jar包不混淆
#zxing
-dontwarn com.google.zxing.**
-keep class com.google.zxing.** { *;}


#gson
-dontwarn com.google.gson.**
-keep class com.google.gson.** { *;}


#3D 地图 V5.0.0之后:
-keep   class com.amap.api.maps.**{*;}
-keep   class com.autonavi.**{*;}
-keep   class com.amap.api.trace.**{*;}

#定位
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}

#搜索
-keep   class com.amap.api.services.**{*;}

#2D地图
-keep class com.amap.api.maps2d.**{*;}
-keep class com.amap.api.mapcore2d.**{*;}

#导航
-keep class com.amap.api.navi.**{*;}
-keep class com.autonavi.**{*;}

#内置语音 V5.6.0之后
-keep class com.alibaba.idst.nls.** {*;}
-keep class com.google.**{*;}
-keep class com.nlspeech.nlscodec.** {*;}

-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment

#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}
#okio
-dontwarn okio.**
-keep class okio.**{*;}

# ButterKnife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
    @butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
    @butterknife.* <methods>;
}

# Retrofit
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

 -keepclassmembers class * { public <init>(org.json.JSONObject); }
 -keepclassmembers enum com.umeng.analytics.** {
     public static **[] values();
     public static ** valueOf(java.lang.String);
 }


 # 友盟自动更新
 -keepclassmembers class * { public <init>(org.json.JSONObject); }
 -keep public class cn.irains.parking.cloud.pub.R$*{ public static final int *; }
 -keep public class * extends com.umeng.**
 -keep class com.umeng.** { *; }
集成高德地图语音导航时,一定要加入讯飞语音的混淆规则

android 4.4出现过加载第三方库时,报错类找不到,7.0以上时程序完美运行

解决:其实是65535  方法数超标了,导入

compile 'com.android.support:multidex:1.0.0'

Application 中加入

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

Zbar 切换后台再次进入app出现黑屏情况,是因为surfaceView被销毁了

解决:在OnResume中调用初始化相机的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值