一 打不混淆的包

1 新建 Android Library工程作为打 jar包要用的工程

2 在 library的 build.gradle文件中加入如下代码:

task makeJar(type: Jar, dependsOn: ['build']) {    delete 'build/libs/testSDK.jar'    baseName 'testSDK'    from('build/intermediates/classes/release')    exclude "**/R.class"    exclude { it.name.startsWith('R$'); }}

3 生成jar包
找到Gradle目录下的,刚刚创建的Android Library名称目录下的Tasks,打开other目录,再找到makeJar,点击便开始打包jar

生成的jar包位置如下:


二 打包混淆的 jar

1 proguard-rules.pro 中加入以下不需要混淆的说明

-target 1.6-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-optimizationpasses 5-dontusemixedcaseclassnames-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod-keepparameternames-verbose-ignorewarnings-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 no.nordicsemi.android.dfu.DfuBaseService-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-keepclasseswithmembers class * {    public (android.content.Context,android.util.AttributeSet);}-keepclasseswithmembers class * {    public (android.content.Context,android.util.AttributeSet,int);}-keepclassmembers class * extends android.app.Activity {    public void *(android.view.View);}-keep class * extends android.os.Parcelable {    public static final android.os.Parcelable$Creator *;}# Keep - Library. Keep all public and protected classes, fields, and methods.#-keep public class * {#    public ;#    public ;#}

2 在 library的 build.gradle文件中继续加入如下代码:

task makeProguardJar(type: proguard.gradle.ProGuardTask, dependsOn: ['makeJar']) {    // 未混淆的jar路径    injars 'build/libs/testSDK.jar'    // 混淆后的jar输出路径    outjars 'build/libs/proGuard_testSDK.jar'    // 混淆协议    configuration 'proguard-rules.pro'}

表示生成的混淆jar包在 —> build/libs/proGuard_testSDK.jar

3 找到Gradle目录下的,刚刚创建的Android Library名称目录下的 Tasks,打开 other目录,再找到 makeProguardJar, 点击便开始打混淆的 jar包,如下图:

4 生成jar包如图:

最后DEMO地址:
http://download.csdn.net/download/desireyaoo/10016399

更多相关文章

  1. android 项目打包jar
  2. Android(安卓)5.0系统进入APP崩溃之multiDexEnabled踩坑记
  3. Android(安卓)studio Cause: buildOutput.apkData must not be n
  4. Android应用多渠道打包脚本
  5. 关于ant 打包android引入第三方类库library project的终极解决方
  6. APK反破解之一:Android(安卓)Java混淆(ProGuard)
  7. Android(安卓)Studio集成友盟SDK出现的问题解决及原因分析
  8. Android(安卓)Studio添加so文件并打包到APK的lib文件夹中
  9. android studio 设置模板

随机推荐

  1. 【android studio】导入项目后无法运行,修
  2. android 源码获取
  3. Linux创建应用快捷方式
  4. android RecyclerView checkbox复用解决
  5. Android 优惠卷样式
  6. Android虚拟键(NavigationBar)适配问题
  7. react-native apk打包 android
  8. Android Gridview 禁止滚动的二种方法
  9. How to get the android resolution
  10. Ubuntu 下android 开发,eclipse不能识别手