我现在有点绝望了。我的 React-Native 应用程序有两个应用程序文件夹,这两个文件夹都包含一个具有正确结构的 google-services.json 文件,并且“package_name”肯定存在并且具有正确的值。该文件如下所示:
{
"project_info": {
"project_number": "123456789123",
"firebase_url": "https://myproject.firebaseio.com",
"project_id": "my-project",
"storage_bucket": "my-project.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:878210515221:android:64cb9c9ba170c841",
"android_client_info": {
"package_name": "com.mycompany.appstore.myproject"
}
},
"oauth_client": [
{
"client_id": "123456789123-ipr3gfqml3oaajpk1lsq6gvf81mebkcm.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "mykey-xxxx-xxxx-xxxx"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}
两个 google-services.json 文件具有相同的内容(在本例中我用虚拟文本替换了一些值),但 react-native run-android
命令不断给我 没有找到包名称''的匹配客户端
警告,它甚至没有提到package_name,而是说它是一个空字符串。
互联网上的所有解决方案都是“将 google-services.json”文件放入您的应用文件夹中。在这种情况下,这显然对我没有帮助。知道问题是什么吗?
最佳答案
如果您有多个 Flavor,则需要在 firebase 门户上为同一应用程序创建多个客户端
例如(在 Android 中)
productFlavors {
prod {
applicationId "com.xyz.abc"
dimension "tier"
}
apiary {
applicationId "com.xyz.abc.apiary"
dimension "tier"
}
local {
applicationId "com.xyz.abc.local"
dimension "tier"
}
}
否则请检查 app 和 google-services.json 中的包名称
关于javascript - 找不到包名称 '' 的匹配客户端,但应用程序目录中存在 google-services.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50041834/