尝试在 flutter 项目的 .env 文件或 local.properties 文件中隐藏 Google Maps API 密钥时出现异常错误

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

在实施隐藏项目中的 API 密钥的措施后,使用 flutter 运行应用程序构建时,例如:

  1. 将密钥作为在根文件夹中的 .env 文件中声明的变量传递给 android/app/src/main/AndroidManifest.xml;或
  2. 在local.properties文件中声明的变量,在AndroidManifest.xml中调用,

尽管分别实施这两种解决方案会产生以下错误:

Attribute meta-data#com.google.android.geo.API_KEY@value at AndroidManifest.xml:31:9-40 requires a placeholder substitution but no value for <maps_api_key> is provided.
C:\Users\h\Desktop\Projects\SportMap\android\app\src\debug\AndroidManifest.xml Error:
    Validation failed, exiting

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed with multiple errors, see logs

error description in debug console 进一步的背景:

  • variable declaration in local.properties(declared similarly in .env also)
  • How its called in AndroidManifest.xml

是否有任何其他方式传递 API 密钥,使其在版本控制中不可见?

尝试运行

flutter clean
然后
flutter pub get
删除并重新加载项目构建。然而,这导致了一组新的错误。 重复执行此操作直到错误得到解决。

仍然有原始问题。

android flutter dart google-maps api-key
1个回答
0
投票

只要把钥匙留在里面,就可以了。地图键不太可能被滥用。

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