使用react-native地图时从AndroidManifest.xml中删除Google地图api密钥

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

我们在 React Native 应用程序中使用 React-Native 地图。我们的 PenTesting 团队在从 jadx - https://github.com/skylot/jadx 工具提取 apk 后要求从 AndroidManifest.xml 文件中删除 Google 地图 api 密钥,因为他们在提取 apk 后可以看到我们的地图 api 密钥形成那个工具。我们研究了从源代码中删除地图 API 密钥,并且我们用于集成谷歌地图的包要求密钥位于 AndroidManifest.xml 中。

我们尝试将密钥存储在 gradle.properties 文件中,并通过 Google 提到的变量将其传递到清单文件,但是当应用程序构建时,密钥将被添加回清单文件中。

当需要将密钥放在清单文件中以使地图功能正常工作时,您是否建议将密钥保留在源代码之外?我们已经在 Google Cloud Console 中限制了 Google 地图 api 密钥。

react-native-navigation react-native-maps
1个回答
0
投票

在路径中创建一个新文件

keys.xml

../android/app/src/main/res/values/keys.xml

Keys.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="google_maps_api_key">PASTE_GOOGLE_MAP_API_KEY_HERE</string>
</resources>

现在,在 AndroidManifest.xml 中使用此键:

<meta-data 
   android:name="com.google.android.geo.API_KEY"
   android:value="@string/google_maps_api_key"/>
© www.soinside.com 2019 - 2024. All rights reserved.