如何解决在APK中反应本地Google服务分配
我想知道是否有人可以帮助我为Android创建一个本机模块来读取用于Firebase的google-services.json
文件,我倾向于从JSON对象中提取某个值并将其显示给开发人员。但是,我不确定实际APK中它在哪里。
我有两个不同的google-services.json
文件。我的项目结构包含以下project/android/app/src/debug/google-services.json
和project/android/app/src/release/google-services.json
。任何帮助都超过了欢迎,我只是对文件在实际APK中的复制位置感到困惑,因此我可以以编程方式进行操作,读取它并提取相应键的值。
解决方法
该文件未按照您想象的方式包含在您的应用中。 Google服务Gradle插件会在构建时对其进行解析,并将其某些值作为字符串资源注入到您的应用中。如果要读取这些值,只需找出所需的字符串资源,然后像访问其他任何字符串资源一样对其进行访问即可。
有关Google服务插件在构建时实际执行的操作的文档为here。您可以看到它生成的字符串资源如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<! -- Present in all applications -->
<string name="google_app_id" translatable="false">1:1035469437089:android:73a4fb8297b2cd4f</string>
<! -- Present in applications with the appropriate services configured -->
<string name="gcm_defaultSenderId" translatable="false">1035469437089</string>
<string name="default_web_client_id" translatable="false">337894902146-e4uksm38sne0bqrj6uvkbo4oiu4hvigl.apps.googleusercontent.com</string>
<string name="ga_trackingId" translatable="false">UA-65557217-3</string>
<string name="firebase_database_url" translatable="false">https://example-url.firebaseio.com</string>
<string name="google_api_key" translatable="false">AIzbSyCILMsOuUKwN3qhtxrPq7FFemDJUAXTyZ8</string>
<string name="google_crash_reporting_api_key" translatable="false">AIzbSyCILMsOuUKwN3qhtxrPq7FFemDJUAXTyZ8</string>
<string name="project_id" translatable="false">mydemoapp</string>
</resources>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。