Open
Description
Describe your environment
- Android Studio version: 2024.2.2 Patch 2
- Firebase Component: AppDistribution (gradle plugin)
- Component version:
id 'com.google.firebase.appdistribution' version '5.1.1' apply false
Describe the problem
- gradle plugin fails to determine or communicate the quota project
- appdistribution api rejects the request with 403
Steps to reproduce:
# ensure firebase cli is not logged in because plugin will use those creds if they exist (you'll be unable to reproduce from a machine with (old-style) firebase cli login creds in place!)
rm ~/.config/configstore/firebase-tools.json
# ensure logged into ADC
gcloud auth application-default login
# ensure quota project set
gcloud auth application-default set-quota-project PROJ
# gradle build
env GOOGLE_APPLICATION_CREDENTIALS=/Users/<redact>/.config/gcloud/application_default_credentials.json ./gradlew --console plain --no-daemon assembleFullDebug uploadCrashlyticsSymbolFileFullDebug appDistributionUploadFullDebug --debug --stacktrace
There are several successful network transactions in the logs and then this (looks like while trying to see operation status)
2025-02-27T04:49:45.323-0700 [INFO] [com.google.api.client.http.HttpTransport] -------------- REQUEST --------------
GET https://firebaseappdistribution.googleapis.com/v1/projects/PROJECT_NUMBER/apps/1:PROJECT_NUMBER:android:<redact>/releases/-/operations/<redact>
Accept-Encoding: gzip
Authorization: <Not Logged>
User-Agent: Firebase App Distro Client/5.1.1
x-client-version: gradle/5.1.1
2025-02-27T04:49:45.367-0700 [INFO] [com.google.api.client.http.HttpTransport] Total: 1,153 bytes
2025-02-27T04:49:45.367-0700 [INFO] [com.google.api.client.http.HttpTransport] {
"error": {
"code": 403,
"message": "Your application is authenticating by using local Application Default Credentials. The firebaseappdistribution.googleapis.com API requires a quota project, which is not set by default. To learn how to set your quota project, see https://cloud.google.com/docs/authentication/adc-troubleshooting/user-creds .",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "SERVICE_DISABLED",
"domain": "googleapis.com",
"metadata": {
"consumer": "projects/764086051850",
"service": "firebaseappdistribution.googleapis.com"
}
},
{
"@type": "type.googleapis.com/google.rpc.LocalizedMessage",
"locale": "en-US",
"message": "Your application is authenticating by using local Application Default Credentials. The firebaseappdistribution.googleapis.com API requires a quota project, which is not set by default. To learn how to set your quota project, see https://cloud.google.com/docs/authentication/adc-troubleshooting/user-creds ."
}
]
}
}
Relevant Code:
- gradle deploy as above works if I log into firebase ci with legacy FIREBASE_TOKEN
- same deploy works with firebase cli -- with firebase cli's implementation of ADC