使用proguard android时,jar正在classes.jar中合并

时间:2016-02-05 07:13:39

标签: android android-gradle proguard android-proguard

我正在创建一个库项目( AAR 文件)

AAR文件按原样包含 libs 文件夹,如果未使用proguard,则创建 classes.jar

但如果我使用 proguard ,那么会合并classes.jar中的所有广告

我尝试从

更改build.gradle
compile fileTree(include: ['*.jar'], dir: 'libs')

provided fileTree(include: ['*.jar'], dir: 'libs')

然后 只编译libs 既不包含在libs文件夹中也不包含在classes.jar中

这是我目前的proguard文件

-optimizations !code/simplification/arithmetic,!code/simplification/cast,!class/merging/*,!field/*,!class/unboxing/enum
#-optimizationpasses 5
-allowaccessmodification
-dontpreverify

-dontshrink
-dontusemixedcaseclassnames
-verbose

# For enumeration classes
-keepclassmembers enum * {*;}

# For Libs
#-injars       libs\cc.jar
#-outjars      libs\cc_out.jar

-keepdirectories **libs**

# For parcelable and serializable object classes
-keep class * implements android.os.Parcelable {
   public static final android.os.Parcelable$Creator *;
}

-keep class * implements java.io.Serializable {*;}

-keepclassmembers class **.R$* {
   public static <fields>;
}

# preserve linenumber only
-renamesourcefileattribute SourceFile
-keepattributes  SourceFile,LineNumberTable,Signature,Exceptions,InnerClasses,*Annotation*

# The support library contains references to newer platform versions.
-dontwarn android.support.**

请帮助将jar保存在libs文件夹中,避免包含在classes.jar

1 个答案:

答案 0 :(得分:0)

此问题已于 2016 年修复。请参阅:https://github.com/adwiv/android-fat-aar/issues/24