如何从 Kotlin/java 中的 android 项目读取 google-services.json 文件

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

我想在Kotlin函数运行时读取文件,我要读取的文件存储在 在

projectname/app/credentials.json
,我想阅读
credentials.json

类似的情况是 firebase 如何读取其凭证文件

google-services.json

PS:我不想将文件放入资产中,因为我已经想到了资产方法

java android firebase kotlin gradle
4个回答
1
投票

文件 google-services.json 无法从应用程序内直接读取。

由于

google services gradle 插件,Firebase 能够访问文件中的值。该插件在构建时读取文件,并在运行时使用资源将其找到的值注入到您的应用程序中。来自链接的文档: google-services 插件有两个主要功能:

处理 google-services.json 文件并生成可在应用程序代码中使用的 Android 资源。

    如果您想自己读取该文件,则需要执行类似的操作 - 编写一个查找该文件的 gradle 插件,然后以可读的方式(例如资源或资产)将其添加到您的应用程序中。否则无法读取。
您可以通过此链接找到答案

https://stackoverflow.com/a/62878278/21735165


0
投票
您必须将该文件放入您的资产文件夹中并读取它。看看链接

在 Kotlin 中,您可以使用标准 Java I/O 操作从文件系统读取文件。您可以通过以下方式读取项目目录中的“credentials.json”文件:

运行此代码:

0
投票
import java.io.File fun readCredentials(): String? { val filePath = "app/credentials.json" val file = File(filePath) return if (file.exists()) { file.readText() } else { null } } fun main() { val credentials = readCredentials() println(credentials) }

根据您的项目结构将 filePath 变量调整为正确的相对路径。此代码将读取“credentials.json”的内容并将其作为字符串返回,如果该文件不存在,它将返回空值。

您应该使用 Context openFileInput 方法,该方法可以获取应用程序路径的文件。

val file:FileInputStream = context.openFileInput("credentials.json")

0
投票

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