Android Studio 打Jar包和混淆代码。
来源:互联网 发布:手机如何关注淘宝达人 编辑:程序博客网 时间:2024/06/04 19:02
打Jar包的几种方式:
def SDK_BASENAME = "Sdk";//打包后名字def SDK_VERSION = "_V1.0";//${defaultConfig.versionName}def sdkDestinationPath = "build";//保存目录def zipFile = file('build/intermediates/bundles/release/classes.jar')task deleteBuild(type: Delete) {//删除jar包 delete sdkDestinationPath + "/" + SDK_BASENAME + SDK_VERSION + ".jar"}task makeJar(type: Jar) {//生成jar from zipTree(zipFile) from fileTree(dir: 'src/main', includes: ['assets/**']) baseName = SDK_BASENAME + SDK_VERSION destinationDir = file(sdkDestinationPath)//目的地}makeJar.dependsOn(deleteBuild, build)//在终端执行生成JAR包// gradlew makeJar
def SDK_BASENAME = "Sdk";//打包后名字def SDK_VERSION = "_V1.0";//${defaultConfig.versionName}def SDK_NAME = SDK_BASENAME + SDK_VERSION + ".jar";//Copy类型task makeJar(type: Copy) { //删除存在的 delete 'build/libs/' + SDK_NAME //设置拷贝的文件 from('build/intermediates/bundles/release/') //打进jar包后的文件目录 into('build/libs/') //将classes.jar放入build/libs/目录下 //include ,exclude参数来设置过滤 //(我们只关心classes.jar这个文件) include('classes.jar') //重命名 rename('classes.jar', SDK_NAME)}makeJar.dependsOn(build)//在终端执行生成JAR包//gradlew makeJar
task clearJar(type: Delete) { delete 'libs/sdk.jar'}task makeJar(type: org.gradle.api.tasks.bundling.Jar) { //指定生成的jar名 baseName 'sdk' //从哪里打包class文件 from('build/intermediates/classes/debug/org/cmdmac/cloud/pluginsdk/') //打包到jar后的目录结构 into('build/libs/') //去掉不需要打包的目录和文件 exclude('test/', 'BuildConfig.class', 'R.class') //去掉R$开头的文件 exclude { it.name.startsWith('R$'); }}makeJar.dependsOn(clearJar, build)//在终端执行生成JAR包//gradlew makeJar
def SDK_BASENAME = "Sdk";//打包后名字def SDK_VERSION = "_V1.0";//${defaultConfig.versionName}def SDK_NAME = SDK_BASENAME + SDK_VERSION + ".jar";def zipFile = file('build/intermediates/bundles/release/classes.jar')def sdkDestinationPath = "build/libs/";//保存目录task makeJar(type: Jar) {//生成jar delete 'build/libs/' + SDK_NAME from zipTree(zipFile) from fileTree(dir: 'src/main', includes: ['assets/**']) from(project.zipTree('libs/xutils-3.3.4.jar')) from(project.zipTree('libs/glide-3.7.0.jar')) from(project.zipTree('libs/xutils-3.3.4.jar')) baseName = SDK_BASENAME + SDK_VERSION destinationDir = file(sdkDestinationPath)//目的地}makeJar.dependsOn(build)
选择以上任意一段代码,然后使用以下任意一种方法打Jar包。
方式一:
方式二:
Jar包混淆:
由于这个项目使用了NDK,所以以下NDK配置请略过。
android { compileSdkVersion versions.compileSdk buildToolsVersion versions.buildTools compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } defaultConfig { versionName project.version minSdkVersion versions.minSdk targetSdkVersion versions.targetSdk consumerProguardFiles 'proguard-rules.pro' testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' externalNativeBuild { ndkBuild { arguments "NDK_DEBUG=${isDebugBuild() ? '1' : '0'}" } } } externalNativeBuild { ndkBuild { path 'src/main/c/Android.mk' } } sourceSets { main { //你的源码目录 jniLibs.srcDirs 'src/main/libs' } } repositories { flatDir { dirs 'src/main/libs' } } buildTypes { release { minifyEnabled false//混淆打包 shrinkResources true//去掉不用资源// signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}
混淆配置需要根据自己项目情况酌情配置,配置文件可以去SDK目录拷贝。
0 0
- Android studio 代码混淆和打jar包
- Android Studio 打Jar包和混淆代码。
- Android Studio 打Jar包和混淆的Jar包
- android studio 打jar包并混淆
- Gradle minifyEnabled 使用proguard混淆android代码 android studio 打jar包并混淆
- android 打Jar包和混淆配置
- Android studio 混淆jar包
- Android studio 打jar包
- Android studio 打jar包
- Android Studio 打jar包
- Android Studio 打JAR包
- Android Studio 打JAR包
- android studio 打jar包
- Android Studio 打JAR包
- Android studio打jar包
- Android Studio 打jar包
- Android Studio打JAR包
- Android studio打jar包
- python正则表达式学习
- 【CG物理模拟】风筝模拟
- 批处理中的变量和参数(二)
- 微信小程序_倒计时补零
- 凸包,点到直线距离(飞机场,uva 11168)
- Android Studio 打Jar包和混淆代码。
- Java SE 基础:方法的参数传递
- Python入门
- 11.2.3
- 大学霸kali linux命令学习笔记
- Mac和Ubuntu系统下.bash_profile和.bashrc文件
- SDL Thread 相关API
- python技巧(7)
- kalilinux内网嗅探,局域网监控记录