大家都知道,混淆apk,配置如下,编译工具会给我们自动混淆
混淆代码:
1 先到工程目录下,找到project.properties 这个文件
2 根据提示找到proguard-android.txt 这个文件
3 将这个文件拷贝回工程目录。
4 将project.properties这个文件里面的 proguard.config=proguard-android.txt
但是如果混淆的时候需要保存哪些类文件不混淆。只要在proguard-android.txt 添加一些配置就好了,具体本文本次就不做介绍。
亲试有效:这是build.gradle 的代码
apply plugin: 'android-library'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':sogou-volley')
}
android {
compileSdkVersion 21
buildToolsVersion "23.0.3"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
task makeJar(dependsOn: ['compileReleaseJavaWithJavac'], type: Jar) {
def srcClassDir = [project.buildDir.absolutePath + "/intermediates/classes/release"];
from srcClassDir
println "lixiang-->>"+srcClassDir
exclude "com/sogou/gamecenter/sdk/BuildConfig.class"
exclude "com/sogou/gamecenter/sdk/BuildConfig\$*.class"
exclude "**/R.class"
exclude "**/R\$*.class"
include "com/sogou/gamecenter/sdk/**/*.class"
extension = "jar"
archiveName = "lxcaySDKLib.jar"
}
task proguardJar(dependsOn: ['makeJar'], type: proguard.gradle.ProGuardTask) {
configuration 'proguard.cfg'
String inJar = makeJar.archivePath.getAbsolutePath()
injars inJar
println "lixiang->>"+inJar
String outJar = inJar.substring(0, inJar.lastIndexOf(File.separator)) + "/proguard-${makeJar.archiveName}"
outjars outJar
println "lixiang->>"+outJar
dontshrink
}
这是proguard-android.txt的代码
#
# This ProGuard configuration fil