Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用proguard混淆android库(.aar)?_Android_Obfuscation_Android Library_Android Proguard_Aar - Fatal编程技术网

如何使用proguard混淆android库(.aar)?

如何使用proguard混淆android库(.aar)?,android,obfuscation,android-library,android-proguard,aar,Android,Obfuscation,Android Library,Android Proguard,Aar,我想使用proguard对.aar库进行模糊处理,我在internet上尝试了许多解决方案,但到目前为止都没有效果,只有一些代码被模糊处理。有人能帮我解决这个问题吗?在build.gradle中,在defaultConfig下添加consumerProguardFiles: android { compileSdkVersion Integer.parseInt("${COMPILE_SDK}") buildToolsVersion "${BUILD_TOOLS

我想使用proguard对.aar库进行模糊处理,我在internet上尝试了许多解决方案,但到目前为止都没有效果,只有一些代码被模糊处理。有人能帮我解决这个问题吗?

在build.gradle中,在defaultConfig下添加consumerProguardFiles:

 android {
        compileSdkVersion Integer.parseInt("${COMPILE_SDK}")
        buildToolsVersion "${BUILD_TOOLS_VERSION}"

        defaultConfig {
            targetSdkVersion Integer.parseInt("${TARGET_SDK}")
            minSdkVersion Integer.parseInt("${MIN_SDK}")
            consumerProguardFiles 'consumer-proguard-rules.pro'
        }
    }
在库项目的根文件夹下添加名为consumer-proguard-rules.pro的文件。此文件应包含库项目的build.gradle中提到的依赖项的所有proguard规则。您应该为您的POJO类、带有注释的接口以及任何其他需要防止proguard清理或混淆的类添加保留规则。 如果缩减资源,则应在资源的res(例如res/raw)下添加keep.xml文件。在此文件中,可以指定要保留的绘图表或布局。您可以在中签入代码,然后使用反射调用带有getResources().getIdentifier(..)的资源,如果是这样,您可以像这样添加绘图表

<?xml version="1.0" encoding="utf-8"?>
<resources
    xmlns:tools="http://schemas.android.com/tools"
    tools:shrinkMode="safe"
    tools:keep="@layout/layout1, @drawable/icon1,@drawable/icon2,@drawable/img_*"/>


您可以使用*告诉proguard将所有以img_uu开头的可绘图文件保存在可绘图文件夹下。

Reference和@Redman感谢您的快速响应,我已经浏览了上述链接,但它在一定程度上混淆了代码,资源文件夹保持不变。。