小编Roi*_*erg的帖子

如何使用Android R8为远程aar文件保留类名和方法名?

我正在通过创建 aar 文件来编写 Android Studio 库。我将此文件安装在专用网络的 maven 存储库上。我现在正在尝试让用户只知道类名称和方法名称,在 Stackoverflow库混淆中使用 proguard的这个问题的帮助下,但没有成功。我成功地只对几个类名和构造函数名这样做,而方法名混淆为字母(a(),b()......)。现在,当我在 build.gradle 文件中本地获取库时,一切正常

implementation(files('C:\\Users\\User\\AndroidStudioProjects\\android-app2\\app\\build\\outputs\\aar\\app-open.aar'))
Run Code Online (Sandbox Code Playgroud)

但不是那样

api('xx.yyy.sdk:app:1.0.0@aar') { transitive = true }
Run Code Online (Sandbox Code Playgroud)

第一个包括显示所有类及其名称和方法名,而第二个只显示几个类名和构造函数名称,正如我之前写的。

项目的 build.gradle 文件

buildscript {
     dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
     }
}
Run Code Online (Sandbox Code Playgroud)

保护文件

#
# This ProGuard configuration file illustrates how to process a program
# library, such that it remains usable as a library.
# Usage:
#     java -jar proguard.jar @library.pro
#

# Specify the input jars, output jars, and library jars.
# In this case, the …
Run Code Online (Sandbox Code Playgroud)

obfuscation android proguard aar android-r8

6
推荐指数
0
解决办法
2016
查看次数

标签 统计

aar ×1

android ×1

android-r8 ×1

obfuscation ×1

proguard ×1