본 콘텐츠로 바로 가기

Capacitor 플러그인 AGP 9 빌드 오류 해결

AGP 9 Capacitor 플러그인 빌드 오류를 빠르게 해결하십시오. 프로가드-안드로이드.txt가 실패하는 이유를 알아보십시오. 프로가드-안드로이드-최적화.txt를 사용하는 방법을 알아보십시오. 그리고 Capgo은 안드로이드 그레이들 플러그인 9 문제를 플러그인 전체에서 해결했습니다.

기사 기여

마틴 도나디유

작가

발레리아

Reviewer

Jordan

Editor

Capacitor

AGP 9 Capacitor __CAPGO_KEEP_0__

plugin started failing after upgrading to Android Gradle Plugin 9 (AGP 9), you are likely hitting a small but critical Gradle configuration issue.

  • Capacitor plugin build error AGP 9
  • __CAPGO_KEEP_0__ plugin build error AGP 9
  • proguard-android.txt Android Gradle Plugin 9 plugin build failed
  • not found AGP 9 getDefaultProguardFile 오류
  • Capacitor Android 빌드가 AGP 업그레이드 후 실패했습니다.

간단한 버전은 다음과 같습니다:

  • proguard-android.txt 안전한 기본 기준으로 AGP 9 플러그인 빌드에서 참조하는 것은 더 이상 안전한 기본 기준이 아닙니다.
  • Switch to proguard-android-optimize.txt.
  • 재빌드 및 확인.

긴 버전도 중요합니다. 특히 많은 플러그인을 유지 관리하거나 큰 Capacitor 워크스페이스를 관리하는 경우입니다. 이 글에서는 다음과 같은 내용을 다룹니다.

  • Android 및 AGP가 빌드 체인에서 어떤 역할을 하는지
  • Capacitor이란 무엇이며 플러그인 빌드가 어떻게 작동하는지
  • __CAPGO_KEEP_0__ Capgo context
  • AGP 9에서 오래된 플러그인 템플릿을 깨뜨리는 정확한 변경 사항
  • 한 개의 저장소 또는 여러 저장소에 대한 안전한 마이그레이션 전략

이 문맥에서 Android는 무엇인가?

Android is both an operating system and a build ecosystem. When you ship a Capacitor app or plugin on Android, your project goes through:

  1. Gradle 빌드 시스템으로 Gradle
  2. Android Gradle Plugin (AGP) Android에 특화된 Gradle 통합
  3. Android SDK 패키징, 축소, linting 및 출력을 생성하는 도구 chain .aar, .apk또는 .aab 출력.

AGP 버전이 변경될 때, 일부 기본 설정 및 내부 파일도 변경될 수 있습니다. AGP 8에서 작동하던 플러그인 구성이 AGP 9에서 실패할 수 있습니다. 이는 제거된 또는 deprecated baseline에 대한 참조 때문일 수 있습니다.

Capacitor는 무엇입니까?

Capacitor code

Capacitor

  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__ios/, android/)
  • __CAPGO_KEEP_0__

__CAPGO_KEEP_0__ android/build.gradle __CAPGO_KEEP_0__

code

Capgo

Capgo Capacitor

__CAPGO_KEEP_0__

  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • SDK
  • __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

Why AGP 9 breaks older plugin configs

많은 플러그인 템플릿은 역사적으로 사용되었습니다:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

AGP 9 설정에서 이 레거시 베이스 라인 참조는 더 이상 이전 템플릿/설정에 의해 예상되는 위치에 있는 파일이 보장되지 않기 때문에 실패할 수 있습니다.

Gradle 오류가 발생하는 경우, 또는 assemble, lint단계 중, 종종 ProGuard 베이스 라인 리소스 또는 기본 파일 참조가 유효하지 않은 경우가 있습니다. build 빠른 배경: ProGuard, R8, 및 베이스 라인 파일

R8

__CAPGO_KEEP_0__

  • proguard-android.txt > legacy, minimal baseline
  • proguard-android-optimize.txt > modern optimized baseline (recommended default in current setups)

AGP 9 호환을 위해 proguard-android-optimize.txt 는 실제적인 해결책입니다.

한 줄로 해결하는 방법

플러그인 및 앱 모듈 Gradle 파일을 업데이트하십시오:

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

최소한, 확인하십시오:

  • android/build.gradle 각 플러그인
  • example-app/android/app/build.gradle 플러그인 저장소
  • 새 플러그인 Gradle 구성이 생성되는 템플릿 파일

한 플러그인의 마이그레이션 가이드

1. 이전 참조를 찾으십시오

rg -n "proguard-android\\.txt" android example-app

2. 대체하십시오

perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g" \
  android/build.gradle example-app/android/app/build.gradle

3. 확인하시기 바랍니다 Bun

bun run verify:android

만약 플러그인이 완전한 검증 스크립트를 가지고 있다면 실행하시기 바랍니다:

bun run verify

모든 플러그인 저장소에 batch 업데이트를 하십시오

만약 하나의 워크스페이스에서 많은 플러그인 저장소를 관리하시면 자동화하시기 바랍니다:

rg -l "proguard-android\\.txt" capacitor-* \
  --glob '!**/node_modules/**' \
  --glob '!**/.gradle/**' \
  --glob '!**/build/**' \
| xargs perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g"

그 다음 트래킹된 플러그인 소스에서 아직도 이전 파일을 사용하지 않는지 확인하시기 바랍니다:

for d in capacitor-*; do
  [ -d "$d/.git" ] || continue
  git -C "$d" grep -n "proguard-android\\.txt" -- || true
done

트래킹된 플러그인 파일에서 이전 baseline 참조가 사라졌다는 것은

Capgo rollout 상태를 확인하시기 바랍니다

We completed this migration across all official Capgo Capacitor plugin repositories and templates:

  • 플러그인 안드로이드 모듈은 이제 proguard-android-optimize.txt
  • 플러그인 예제 안드로이드 앱도 업데이트되었습니다
  • 플러그인 스캐폴딩 템플릿도 업데이트되어 새로운 플러그인은 기본적으로 AGP 9-safe입니다

이것은 AGP 9 업그레이드 실패의 일반적인 클래스를 방지하기 위해 CI 전에 발생합니다.

이것은 오늘날 빌드가 통과하더라도 중요합니다.

빌드가 실패하지 않아도 바로 실패를 보지 않을 수 있습니다:

  • CI 캐시가 문제를 숨기고 있습니다.
  • 프로젝트에 혼합된 AGP 버전이 있습니다.
  • 로컬 개발에서만 일부 모듈만 다시 빌드합니다.

그러나 결국, 정리된 빌드, 새로운 환경, 또는 업그레이드된 실행자로 문제가 드러납니다. 이_migration은 숨겨진 불안정성을 제거합니다.

빌드가 여전히 실패하는 경우 문제 해결

다음 점을 확인하세요:

  1. 모든 모듈이 패치되었습니다. 플러그인 모듈, 앱 모듈, 샘플, 템플릿 자산을 확인하세요.

  2. 공유 스크립트에 두 번째 참조가 없습니다. 전체 저장소 (포함하여 커스텀 Gradle 스크립트)를 검색하세요.

  3. 캐시가 깨끗합니다. ./gradlew clean 그리고 다시 빌드하세요.

  4. AGP / Gradle / JDK 버전이 일치합니다. Android 문서에서 지원하는 AGP 버전과 일치하는 combination을 사용하세요.

  5. CI에서 사용하는 버전은 로컬과 동일합니다. CI에서 JDK 및 Gradle wrapper 버전을 고정하여 환경이 달라지지 않도록 하세요.

  6. patch만 적용하고 있지 않습니다. node_modules. 트래킹된 플러그인 소스만 고치세요, transient dependency 디렉토리는 고치지 마세요.

AGP 9 SEO FAQ: Capacitor 플러그인 빌드 오류

AGP 9 __CAPGO_KEEP_0__ 플러그인 빌드 오류를 어떻게 고치나요? proguard-android.txt 대체하세요:

대신:

getDefaultProguardFile('proguard-android.txt')

그런 다음 clean rebuild를 실행하세요.

getDefaultProguardFile('proguard-android-optimize.txt')

Android Gradle Plugin 9으로 업그레이드 후 __CAPGO_KEEP_0__ 플러그인 빌드가 실패하는 이유는 무엇인가요?

Capacitor

대부분의 오류는 플러그인에 포함된 legacy Gradle 구성에서 발생합니다. android/build.gradle 파일이 여전히 참조하고 있습니다. proguard-android.txt. AGP 9 프로젝트는 다음을 사용해야합니다. proguard-android-optimize.txt.

AGP 9로 많은 Capacitor 플러그인을 빠르게 마이그레이션하는 가장 빠른 경로는 무엇입니까?

워크스페이스 전체에서 검색 및 대체 명령을 사용하고, 대표적인 플러그인을 사용하여 유효성을 검사하고, git grep 상대표적인 플러그인을 실행합니다. bun run verify:android 이것은 __CAPGO_KEEP_0__ 문제만이 맞습니까?

Is this only a Capacitor issue?

이 마이그레이션에 관련된 키워드는 무엇입니까?

내부 문서나 지원 페이지에 이 내용을 문서화할 경우, 다음과 같은 용어를 포함하세요:

AGP 9 빌드 오류

  • AGP 9
  • 안드로이드 그레이들 플러그인 9 ProGuard 파일 누락
  • Capacitor 플러그인 안드로이드 빌드 실패
  • proguard-android.txt 대체
  • proguard-android-optimize.txt 이동

최종 결론

AGP 9 문제는 간단하지만, 여러 플러그인 워크스페이스에서 쉽게 놓치기 쉬운 문제입니다. __CAPGO_KEEP_0__를 모든 관련된 곳에 대체하면 안드로이드 빌드가 예측 가능해집니다. proguard-android.txt 만약 __CAPGO_KEEP_0__ 플러그인을 사용하고 있다면, 공식 저장소에서 이미 이 마이그레이션을 적용했기 때문에 업그레이드 시 더 많은 충격을 받지 않습니다. proguard-android-optimize.txt __CAPGO_KEEP_0__ 플러그인 AGP 9 빌드 오류 수정

만약 Capgo를 사용하고 있다면

Capacitor

__CAPGO_KEEP_0__ Capacitor 플러그인 AGP 9 빌드 오류 해결 CI/CD 자동화 계획을 수립하기 위해 연결하세요. Capgo CI/CD 제품 워크플로우에서 Capgo CI/CD를 사용하세요. Capgo 네이티브 빌드 제품 워크플로우에서 Capgo 네이티브 빌드를 사용하세요. Capgo 통합 제품 워크플로우에서 Capgo 통합을 사용하세요. CI/CD 통합 __CAPGO_KEEP_0__ 액션 통합 CI/CD 통합 구현 세부 사항에서 GitHub 액션 통합을 사용하세요. for the implementation detail in GitHub Actions Integration.

Capacitor 앱에 대한 실시간 업데이트

웹-layer 버그가 생겼을 때, Capgo를 통해 빠르게 수정을 배포할 수 있습니다. 앱 스토어 승인 대기 없이 사용자에게 업데이트를 제공할 수 있습니다.

인간 지원 - Martin

시작하기

최신 블로그 글

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의 통찰력을 제공합니다.