google-services.json
文件的内容。唯一可行的方式是重新实现插件已经为您完成的工作,但我不建议这样做。如果按照Google的意图使用该插件,不幸的是,任何解压您的APK的人都可以轻松获取您的Firebase/Google API密钥。然后它将内容标识为公共内容:当您将应用连接到Firebase项目时,Firebase控制台会提供一个Firebase配置文件(Android/iOS)或配置对象(Web),您可以直接将其添加到本地项目中。
对于iOS,您需要添加GoogleService-Info.plist配置文件
对于Android,您需要添加google-services.json配置文件
Firebase配置文件或配置对象将您的应用与Firebase项目及其资源(数据库、存储桶等)关联起来。
请记住,如果使用实时数据库、云Firestore或云存储,则仍需要遵循Firebase所描述的安全指南。 此外,请注意,即使这些文件对于您的应用程序是公开的,也不应将它们放在开源项目的公开存储库中。该内容被视为公共内容,包括特定于您的平台的ID(在Firebase控制台设置工作流程中输入)以及特定于您的Firebase项目的值,例如API密钥、实时数据库URL和存储桶名称。
显然这样做并不安全,但你别无选择,因此重要的是限制你的许可证密钥。
解压你的apk(将其重命名为.zip并打开,或从bash中运行unzip [your apk path]
)
现在 - 最关键的一步:在.zip的根目录中找到一个名为resources.arsc
的文件,并用任何同意打开它的编辑器打开它。即使是TextEdit或Atom也可以。搜索AIza
,这里就有了。带有你的用户ID。
... 或者更简单的方法:只需将APK拖放到Android Studio中。你可以看到其中的所有内容:在resources.arsc中,你会找到所有的密钥和值,所有的字符串,所有的整数……所有这些都使用易于美观的图形用户界面(GUI)呈现。
更重要的问题是:是否有一种方法可以告诉ProGuard有效地混淆它。 或者是否有一种方法可以使用与服务器共享的秘密密钥对它进行加密。
这个应用程序中的所有东西都可以非常容易地阅读,因此像Google建议的那样,您必须避免将信息放在apk中,特别是Firebase / Google云消息传递或此类服务的服务器密钥。
google-services.json
文件,所以您需要进行一些修改。 - zeekhuge