programing

작업:app:upploadCrashlyticsMappingFileRelease 실패한 파일 컬렉션에 정확히 하나의 파일이 포함되어야 하지만 파일이 없습니다.

lastmoon 2023. 6. 6. 10:33
반응형

작업:app:upploadCrashlyticsMappingFileRelease 실패한 파일 컬렉션에 정확히 하나의 파일이 포함되어야 하지만 파일이 없습니다.

구현했습니다.Firebase crashlytics제시한 바와 같이나는 이것을 내 앱 레벨에 넣었습니다.release빌드 변형:

firebaseCrashlytics
  {
    mappingFileUploadEnabled true
  }

하지만 내가 서명된 건물을 짓기 시작하면,apk항상 이 오류가 발생합니다.

작업:app:upploadCrashlytics매핑 파일 릴리스 실패

실패: 예외가 발생하여 빌드에 실패했습니다.

  • 무엇이 잘못되었습니까?':app:upploadCrashlyticsMappingFileRelease' 작업을 실행하지 못했습니다.

파일 컬렉션에는 파일이 하나만 포함되어야 하지만 파일이 없습니다.

설정하면mappingFileUploadEnabled로.false그 다음에 출시apk성공적으로 빌드됩니다.저는 많이 찾아봤지만 주변에 일자리가 없었습니다.도와줄 사람?

오류: "Crashlytics에서 Google 서비스 플러그인 작업인 processReleaseGoogle 서비스를 찾을 수 없습니다.com.google 전에 com.google.gms.google-services가 적용되었는지 확인합니다.소방 기지, 화학 분석Google Services 플러그인을 사용하지 않는 경우 Crashlytics 업로드 작업에 대한 Google ServicesResourceRoot 입력을 명시적으로 선언해야 합니다."

저는 빌드.gradle과 같은 것을 가지고 있었습니다.

apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.google.gms.google-services'

이것으로 바꾸고 voila! 작동합니다:

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

저는 오늘 같은 사건에 직면했습니다.이렇게 되는 이유는 다음과 같습니다.

minify true를 설정하면 빌드 시간 및 매핑 시 난독화가 적용됩니다.txt가 생성됩니다.

false를 최소화하면 빌드 시간 및 매핑 시 난독화되지 않습니다.txt가 생성되지 않습니다.

mappingFileUploadEnabled를 minify false 상태에서 true로 설정하면 Firebase SDK가 매핑 업로드를 시도합니다.매핑 중에도 Firebase에 대한 txt.txt는 빌드 시점에 생성되지 않습니다.결과는 오류입니다.

따라서 minify false를 설정한 경우 mappingFileUploadEnabled false를 설정해야 합니다. mappingFileUploadEnabled false를 설정한 경우 mappingFileUploadEnabled true 또는 false를 설정해야 합니다(mappingFileUploadEnabled false를 설정한 경우 Firebase의 충돌 로그가 난독화되었습니다).상태로 표시되므로 큰 의미가 없을 수 있습니다.

  • 힌트

https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android#firebase-crashlytics-sdk_7

https://developer.android.com/studio/build/shrink-code#enable

빌드 그라들에서 다음 행을 페이지 하단에서 상단으로 이동하여 이 문제를 해결했습니다.

이전 설정:

apply plugin: 'com.google.gms.google-services'

새 설정:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

그리고 그 문제는 해결되었습니다.

저의 경우 인터넷에 연결되어 있지 않아 오류가 발생했습니다.인터넷에 연결하여 수정했고 내 빌드 릴리스는 내 Float 앱에 완벽하게 작동했습니다.

충돌 분석의 순서를 변경하기만 하면 아래와 같이 플러그인을 적용할 수 있습니다.

// Put Google Service
apply plugin: 'com.google.gms.google-services'
// After that the Firebase Crashlytics plugin.
apply plugin: 'com.google.firebase.crashlytics'

다음 버전 감소

classpath "com.google.firebase:firebase-crashlytics-gradle:2.8.0"

2.6.0으로 문제를 해결했습니다.

제 경우, 그것은 추가하지 않았습니다.com.google.gms:google-services조도금. and Firebase 에 나와 있지만 에 대한.프로젝트는 Floatter 및 Floatter Firebase 문서에 있지만 이에 대해서는 언급하지 않습니다.

이것들을 합니다.android/build.gradle(인터넷에서 최신 버전 확인):

classpath 'com.google.gms:google-services:4.3.10'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'

끝에 추가합니다.android/app/build.gradle:

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

이유에서인지는 , 떤이생서지, 도이더라했을 했습니다.lib/firebase_options.dart와 함께flutterfire플러그인은 여전히 필요합니다.google-services.json파이어베이스에서 가져온 파일입니다.해당 파일을 에 붙여넣습니다.android/app/디렉토리입니다.그리고 그것은 방출을 위해 지어집니다.

build.gradle 파일의 맨 아래에 추가합니다.

apply plugin: 'com.google.gms.google-services'

저는 여러 번 직면했고, 제가 가지고 있는 다른 해결책이 있습니다.

우선, 당신은 그 프로젝트의 안드로이드 모듈을 열어야 합니다.

Flutter -> Open Android module in Android Studio.

그런 다음 Gradle Scripts로 이동하여 gradle.properties(Global 속성)를 찾아 이 코드를 제거합니다.

systemProp.http.proxyHost=
systemProp.https.proxyHost=
systemProp.https.proxyPort=80
systemProp.http.proxyPort=80

GuardSquare의 Dexguard 솔루션을 사용하는 경우.플러그인 순서는 다음과 같습니다.

plugins {
    // Google Services Plugin
    id 'com.google.gms.google-services'
    // Firebase Crashlytics Plugin.
    id 'com.google.firebase.crashlytics'
    // Dexguard Plugin
    id 'dexguard'
}

이렇게 하면 매핑 파일의 업로드 프로세스가 성공합니다.

언급URL : https://stackoverflow.com/questions/63828003/task-appuploadcrashlyticsmappingfilerelease-failed-expected-file-collection-to

반응형