替换 Android App Bundles (.aab) 文件中 BUNDLE-METADATA 文件夹中的文件

问题描述 投票:0回答:1

如何替换 Android App Bundle 中 BUNDLE-METADATA 文件夹中现有目录中的文件

(.aab)
文件?

为了消除本机崩溃的符号,我们希望用从其他来源收到的文件替换

path="/BUNDLE-METADATA/com.android.tools.build.debugsymbols/arm64-v8a
中现有的 .dbg 文件。这些现有的 .dbg 是在构建过程中创建的。由于某种原因,使用构建期间创建的 .dbg 无法帮助在本地以及 Play 开发控制台中进行去符号化。只有当我们上传原始 .so 文件来播放开发控制台时,去符号化才会正确发生。

此 API 似乎仅适用于添加新文件和目录。 https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/BundleConfig

是否可以使用

AGP 7.3
替换现有文件?

android android-gradle-plugin android-app-bundle
1个回答
0
投票

在您的场景中,您有一个 Android App Bundle (

.aab
) 文件,并且其中的
.dbg
目录中有一个特定的
BUNDLE-METADATA/com.android.tools.build.debugsymbols/arm64-v8a
文件。

您的目标是将现有的

.dbg
文件替换为来自不同来源的另一个文件,以帮助消除本机崩溃的符号,因为当前
.dbg
文件无法达到其目的。

+----------------------------+
| Android App Bundle (.aab)  |
| +------------------------+ |
| | BUNDLE-METADATA        | |
| | +--------------------+ | |
| | | debugsymbols       | | |
| | | +---------------+  | | |
| | | | arm64-v8a     |  | | |
| | | | +-----------+ |  | | |
| | | | | new.dbg   | |  | | | <-- Replaced .dbg file
| | | | +-----------+ |  | | |
| | | +---------------+  | | |
| | +--------------------+ | |
| +------------------------+ |
+----------------------------+

我没有看到任何支持。

修改现有 Android App Bundle (AAB) 中的文件确实会影响其签名,可能使其无效。当您创建 AAB 时,它会使用确保其完整性和真实性的密钥进行签名。对 AAB 的任何后续修改(例如替换文件)都会改变捆绑包的内容,从而更改其签名。

还有一个可选的代码签名和验证机制,称为“代码透明度”,适用于随 Android App Bundle 发布的应用程序。尽管它的运行独立于应用程序包和 APK 所使用的签名方案,但它强调了签名作为验证机制的重要性。

© www.soinside.com 2019 - 2024. All rights reserved.