【发布时间】:2017-06-28 17:16:41
【问题描述】:
是否可以在编译时使用类似于 jarjar 更改 .jar 文件的包名的 gradle 任务来修改库的包名。
该库非常标准,包括以下内容:
dependencies {
compile 'com.scottyab:rootbeer-lib:0.0.6'
}
这样做的目的是更改名称以避免根隐藏应用程序对库的静态检测。
非常感谢任何建议或指导!谢谢
【问题讨论】:
-
您是否考虑过不关心用户是否是 root 用户?它是我的设备,我可以而且应该能够使用它的全部功能。而且由于根检测并非万无一失,它只会给你一种错误的安全感。如果您不希望潜在的 root 用户拥有某些信息,那么它不应该出现在客户端。
-
jarjar工具实际上可以与gradle一起使用。这是example。或者您是否尝试在groovy中实现相同的功能? -
@GabeSechan 我对它的政治并不感兴趣。我的一些设备已经植根,没有人试图说出你可以用你的设备做什么和不能做什么。但某些应用程序不得不包含敏感信息:电子邮件、银行应用程序、短信。授予 root 权限允许进程执行任何操作,因此您必须相信每个 root 进程都不是完全恶意的,也不包含任何安全漏洞。
-
在 yourLibrary.aar 文件中有一个 classes.jar 文件。所以 jarjar-gradle 插件可能还是有用的
-
通常,唯一能找到包名的资源文件是清单文件(布局文件可以使用相对类名)。但是在你的客户项目的构建过程中,所有的清单(app+libs)被合并为一个,你的包名不应该在最终的清单中。如果我错了,请纠正我。
标签: java android gradle android-gradle-plugin root