본 콘텐츠로 바로 가기

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

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

기사 기여

마틴 도나디유

작가

발레리아

리뷰어

조던

편집기

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

AGP 9 업그레이드 후 플러그인이 실패하기 시작했다면, Android Gradle Plugin 9 (AGP 9) 업그레이드와 관련된 작은但 крит적인 Gradle 구성 문제를 만날 수 있습니다. Capacitor __CAPGO_KEEP_0__ 플러그인 빌드 오류 AGP 9

Android Gradle Plugin 9 플러그인 빌드 실패

  • Capacitor plugin build error AGP 9
  • AGP 9
  • proguard-android.txt 오류
  • __CAPGO_KEEP_0__ AGP 업그레이드 후 안드로이드 빌드 실패 getDefaultProguardFile __CAPGO_KEEP_0__
  • Capacitor

The short version:

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

더 긴 버전도 중요합니다. 특히 여러 플러그인을 유지 관리하거나 큰 Capacitor 작업 공간을 유지 관리하는 경우입니다. 이 기사에서는 다음과 같은 항목을 다룹니다.

  • Android 및 AGP가 빌드 chain에서 어떤 역할을 하는지
  • Capacitor는 무엇이며 플러그인 빌드가 어떻게 작동하는지
  • __CAPGO_KEEP_0__ Capgo AGP 9에서 플러그인 템플릿을 깨는 정확한 변경 사항
  • 한 리포지토리나 여러 리포지토리에서 안전한 마이그레이션 전략
  • __CAPGO_KEEP_0__

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 빌드 도구 체인으로 패키징, 축소, linting, 및 출력을 생성하는 SDK 도구입니다. .aar, .apk, 또는 .aab 출력입니다.

AGP 버전이 변경될 때, 기본값과 내부 파일도 변경될 수 있습니다. AGP 8에서 작동하던 플러그인 구성이 AGP 9에서 실패할 수 있습니다. 만약 구성이 제거된 또는 deprecated baseline에 대한 참조를 포함하고 있다면.

Capacitor은 무엇인가요?

Capacitor iOS/Android 앱을 웹 code (TypeScript, JavaScript, HTML, CSS)으로 빌드하는 데 사용되는 크로스 플랫폼 런타임입니다.

Capacitor

  • 웹层 (UI 및 비즈니스 로직)
  • Native shells (ios/, android/)
  • JavaScript로 native 기능을 노출하는 플러그인

각 플러그인은 Android에서 native 빌드 구성이 있습니다. 이 경우 AGP는 각 플러그인이 포함하는 파일을 올바르게 파싱하고 컴파일해야 합니다. android/build.gradle 플러그인 Gradle 설정이 outdated일 경우, 웹 __CAPGO_KEEP_0__이 올바른 경우에도 앱 빌드가 실패할 수 있습니다.

If plugin Gradle settings are outdated, the whole app build can fail, even when your web code is correct.

What is Capgo?

Capgo provides tools around Capacitor delivery and operations:

  • 실시간 업데이트 웹 번들 변경
  • 플러그인 생태계 및 네이티브 기능 패키지
  • CI/CD-friendly update workflows for Capacitor teams

실시간 업데이트에도 불구하고 네이티브 빌드의 안정성은 협상할 수 없는 것입니다. 여전히 다음을 위해 깨끗한 안드로이드 빌드를 필요로 합니다:

  • 앱 스토어 / 플레이 스토어 출시
  • 네이티브 플러그인 업그레이드
  • 플랫폼 SDK 이주
  • 팀 온보딩 및 CI 신뢰도

AGP 9 호환성 수정은 플러그인 층이 신뢰할 수 있는 채로 배달 pipe line이 예측할 수 있는 채로 유지하기 위해 중요합니다.

AGP 9이 이전 플러그인 설정을 깨트리는 이유

많은 플러그인 템플릿은 역사적으로 다음과 같이 사용했습니다:

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

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

Gradle 오류가 발생하는 경우, 또는 assemble, lint, 또는 build 단계에서 오류가 발생할 수 있습니다. 이 오류는 종종 ProGuard 베이스 라인 리소스가 누락되거나 기본 파일 참조가 유효하지 않음을 나타냅니다.

빠른 배경: ProGuard, R8, 및 베이스 라인 파일

  • R8 Android 빌드에서 modern code shrinker/optimizer입니다.
  • proguard-rules.pro 프로젝트/플러그인에서 사용하는 custom keep 규칙입니다.
  • getDefaultProguardFile(...) Android에서 제공하는 베이스 라인을 주입합니다.

참조할 때:

  • proguard-android.txt -> 레거시, 최소 베이스 라인
  • proguard-android-optimize.txt -> 현재 환경에서 권장되는 기본값인 modern 최적화 베이스 라인

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

일치하는 항목이 없으면, 트래킹 중인 플러그인 파일에서 이전 기준 참조가 삭제된 것입니다.

Capgo 배포 상태

Capgo 공식 Capacitor 플러그인 저장소 및 템플릿에 이 마이그레이션을 완료했습니다:

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

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

왜 오늘날 빌드가 통과하더라도 이것이 중요한 이유

이러한 오류를 즉시 확인하지 못할 수 있습니다.

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

그러나 결국, 빌드가 깨끗해지거나, 새로운 환경 또는 업그레이드 된 실행자로 노출됩니다. 현재 이주를 수행하면 숨겨진 instabilty를 제거합니다.

이동 후에도 빌드가 실패하는 경우 문제 해결

다음 점을 확인하세요:

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

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

  3. 캐시가 깨끗합니다. ./gradlew clean AGP / Gradle / JDK 버전이 일치합니다. Android 문서에서 지원하는 AGP 버전과 일치하는 combination을 사용하세요.

  4. Run

  5. CI는 동일한 버전을 사용합니다. CI에서 JDK 및 Gradle wrapper 버전을 고정하여 환경漂移을 피합니다.

  6. 당신은 오직 패치를 적용하지 않습니다. node_modules. 트래킹된 플러그인 소스, 아닌 임시 의존성 디렉토리를 고치세요.

SEO FAQ: AGP 9 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__ 플러그인 빌드가 실패하는 이유는 무엇인가요?

Why does my Capacitor plugin build fail after upgrading to Android Gradle Plugin 9?

AGP 9에서 __CAPGO_KEEP_0__ 플러그인 빌드 오류를 해결하는 방법은 무엇인가요? android/build.gradle AGP 9에서 __CAPGO_KEEP_0__ 플러그인 빌드 오류를 해결하는 방법은 무엇인가요? 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 빌드 오류

  • Android Gradle Plugin 9 ProGuard 파일 누락
  • __CAPGO_KEEP_0__ 플러그인 Android 빌드 실패
  • Capacitor plugin Android build failed
  • proguard-android.txt 대체
  • proguard-android-optimize.txt 이동

최종 결론

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

다음 Capgo Plugin AGP 9 Build Error Fix

Capacitor Plugin AGP 9 Build Error Fix를 사용하는 경우, CI/CD 자동화 계획을 만들고 이를 연결할 수 있습니다.

__CAPGO_KEEP_0__ Plugin AGP 9 Build Error Fix Capacitor __CAPGO_KEEP_0__ Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo Native Builds for the product workflow in Capgo Native Builds, Capgo Integrations for the product workflow in Capgo Integrations, CI/CD 통합 Capgo CI/CD 통합 GitHub Actions Integration GitHub 액션 통합

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

웹-layer 버그가 활성화되면 Capgo를 통해 픽스를 배포할 수 있습니다. 앱 스토어 승인까지 기다리지 않고, 사용자는 배경에서 업데이트를 받을 수 있습니다. native 변경 사항은 normal review path에서 유지됩니다.

Martin으로부터의 인간 지원

시작하기

최신 뉴스

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