Android混淆打包配置(忽略第三方jar)

Posted tangjiean

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android混淆打包配置(忽略第三方jar)相关的知识,希望对你有一定的参考价值。

在project.properties里加上   proguard.config=proguard.cfg

proguard.cfg 配置如下:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

#忽略警告 也可以用-ignorewarnings
-dontwarn

#声明第三方jar包,不用管第三方jar包中的.so文件(如果有)
-libraryjars libs/baidumapapi.jar
-libraryjars libs/tencent_openapi.jar
-libraryjars libs/httpmime-4.1.3.jar
-libraryjars libs/weibo.sdk.android.sso.jar
-libraryjars libs/android-support-v4.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 * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class *
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 *
public static **[] values();
public static ** valueOf(java.lang.String);

-keep class * implements android.os.Parcelable
public static final android.os.Parcelable$Creator *;

#不混淆第三方jar包中的类
-keep class com.baidu.mapapi.** *;
-keep class com.tencent.tauth.** *;
-keep class org.apache.http.entity.mime.** *;
-keep class android.support.v4.** *;
-keep class android.net.http.** *;
-keep class com.weibo.sdk.android.** *;
-keep class com.sina.sso.** *;

说明一下,第三方jar包中如果有.so文件,不用去理会,引入的第三方jar文件不要混淆,否则可能会报异常

以上是关于Android混淆打包配置(忽略第三方jar)的主要内容,如果未能解决你的问题,请参考以下文章

proguard 不混淆第三方jar包的问题

Gradle混淆+打包Jar包基础

保利威视打包混淆

Android怎么把一个现有工程打包成sdk

Android 解决 jar/aar 包类名冲突

Android代码混淆后打包报错问题,第三方库导致。