Android(安卓)Studio 打Jar包和混淆的Jar包
16lz
2021-01-26
一 打不混淆的包
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
更多相关文章
- android 项目打包jar
- Android(安卓)5.0系统进入APP崩溃之multiDexEnabled踩坑记
- Android(安卓)studio Cause: buildOutput.apkData must not be n
- Android应用多渠道打包脚本
- 关于ant 打包android引入第三方类库library project的终极解决方
- APK反破解之一:Android(安卓)Java混淆(ProGuard)
- Android(安卓)Studio集成友盟SDK出现的问题解决及原因分析
- Android(安卓)Studio添加so文件并打包到APK的lib文件夹中
- android studio 设置模板