Mar*_*ler 6 android packaging apk firebase google-play-services
在分析 APK 时,我在存档的根目录中发现了大量.properties
文件,指示 Google Play 服务、Firebase 和 Google HTTP 客户端的版本号,例如:
version=19.2.0
client=firebase-database
firebase-database_client=19.2.0
Run Code Online (Sandbox Code Playgroud)
理论上,这些可以从包中排除:
android {
packagingOptions {
exclude "firebase-*.properties"
exclude "play-services-*.properties"
exclude "google-http-client.version"
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这个问题表明这将是“预期行为”。那么,从包中排除这些看似无用的文件是否安全?或者 Google Play 是否需要这些文件,以便将这些版本号暴露给自动包内容扫描?这些版本号文件的用途是否记录在某处?
这是我正在谈论的内容的屏幕截图:
文档中回答问题的部分当时可能还不存在:
\n\n\n使用 AGP 4.0.0 及更高版本构建应用程序时,该插件包含描述编译到应用程序中的库依赖项的元数据。上传您的应用时,Play 管理中心会检查此元数据,以针对您的应用使用的 SDK 和依赖项的已知问题提供警报,并在某些情况下提供可操作的反馈来解决这些问题。
\n
\n\n数据经过压缩,由 Google Play 签名密钥加密,并存储在发布应用程序的签名块中。我们建议保留此依赖项文件,以获得安全、积极的用户体验。但是,如果您\xe2\x80\x99d 不想共享此信息,则可以通过
\ndependenciesInfo
在模块\xe2\x80\x99s 中包含以下块来选择退出build.gradle
文件中包含以下块来选择退出。
android {\n dependenciesInfo {\n\n // Disables dependency metadata when building APKs.\n includeInApk = false\n\n // Disables dependency metadata when building Android App Bundles.\n includeInBundle = false\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
1823 次 |
最近记录: |