Jos*_*hua 3 android aar android-proguard
我有一个带有一个类的android库,我想把它变成一个.aar库.当我设置minifyEnabled为true时,另一个android项目不能使用该库(如果minifyEnabled设置为false则没问题).我想问一下使用AAR库的proguard的正确配置是什么
HelloWorld.java
package com.example.hello;
import android.util.Log;
public class HelloWorld {
public static void Hello(){
Log.v("HelloWorld","Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud)
build.grandle
apply plugin: 'com.android.library'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
}
Run Code Online (Sandbox Code Playgroud)
proguard-rules.pro
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
-keep class com.example.hello {public *;}
Run Code Online (Sandbox Code Playgroud)
尝试将proguard-rules中的最后一行更改为
-keep class com.example.hello.** {public *;}
Run Code Online (Sandbox Code Playgroud)
至于能够反编译的Android Studio,你无法阻止它.如果您想保护您的代码,我认为您可以做的最好的事情就是对其中的大部分进行模糊处理,然后通过添加相关的proguard规则,通过您没有混淆的接口扩展所需的功能.
| 归档时间: |
|
| 查看次数: |
5439 次 |
| 最近记录: |