Android 使用 aapt 打包资源,并在构建过程中使用此工具生成 R 文件。在这一步中,XML 文件被编译成二进制文件,而其他资源只是按原样打包。您可以将 .apk 文件作为 zip 存档打开并按原样访问所有资源文件。库项目只包含在编译时添加到项目中的源文件和资源,因此它们会以某种方式存在于 .apk 文件中。布局可能不是 1:1,因为 XML 已经为库项目编译。可能有一种方法可以使用 aapt 从库项目中删除文件,使其在构建时不被包含在内,但随后它们将无法在您的项目中访问。也可能有一种方法可以在编译时使用 aapt 和 ant 混淆您的资源名称,但那并没有
我不确定你为什么想要一个与实际资源图不同的 R.java 类。要么在构建时不包含这些资源,要么它们将包含在 apk 中。您的布局在输出中被压缩为二进制文件,因此我不确定在另一个项目中反编译或重用它们有多容易。
这里的结局是什么?如果是为了保护你的资源,那就很难了。如果有人能够 root 他们的手机,Android 是非常不安全的。如果你想保护你的IP,我假设这是最后的结果,我会尝试将我的项目编译成一个apk,看看我是否可以反编译或从apk中提取关键资源。也许尝试一些混淆,但同样,我对编译的 XML 文件了解不够,无法知道它们是否被混淆到不容易被反编译。
如果我错了,请随时纠正我,但这只是我的 2 美分。