메인 콘텐츠로 건너뛰기

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

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

마틴 도나뇨

마틴 도나뇨

콘텐츠 마케터

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

__CAPGO_KEEP_0__ 플러그인이 Capacitor Android Gradle Plugin 9 업그레이드 후 플러그인이 실패하는 경우, AGP 9에서 작동하는 작은但 крит적인 Gradle 구성 문제를 만날 가능성이 있습니다.

이 포스트는 다음과 같은 일반적인 검색 의도에 집중합니다:

  • Capacitor 플러그인 빌드 오류 AGP 9
  • Android Gradle Plugin 9 플러그인 빌드 실패
  • proguard-android.txt 찾을 수 없음
  • AGP 9 getDefaultProguardFile 오류
  • Capacitor AGP 업그레이드 후 Android 빌드 실패

간단한 버전:

  • proguard-android.txt AGP 9 플러그인 빌드에서 더 이상 안전한 기본 라인으로 참조하는 것이 안전하지 않습니다.
  • AGP 9 플러그인 빌드에서 proguard-android-optimize.txt.
  • 재빌드 및 확인.

더 긴 버전도 중요합니다. 특히 많은 플러그인이나 큰 Capacitor 워크스페이스를 유지하는 경우입니다.

  • 이 기사에서는 다음을 다룹니다:
  • What Capacitor is and how plugin builds work
  • __CAPGO_KEEP_0__는 무엇이며 플러그인 빌드가 어떻게 작동하는지 Capgo __CAPGO_KEEP_0__
  • 릴리즈 신뢰성에 중요하도록 하는 이유
  • AGP 9에서 오래된 플러그인 템플릿을 깨는 정확한 변경

한 리포지토리나 여러 리포지토리에서 안전한 마이그레이션 전략

이 문맥에서 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 __CAPGO_KEEP_0__
  2. Android Gradle 플러그인 (AGP) __CAPGO_KEEP_0__
  3. Android SDK 빌드 도구 체인으로, 패키징, 축소, 린팅, 및 생성 .aar, .apk또는 .aab 출력.

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

Capacitor는 무엇입니까?

Capacitor code는 iOS/Android 앱을 빌드할 수 있는 웹 code (TypeScript, JavaScript, HTML, CSS) 런타임입니다. native API를 호출하는 동안도.

Capacitor 앱은 일반적으로 다음을 포함합니다:

  • 웹层 (UI 및 비즈니스 로직)
  • 자연스러운 쉘 (ios/, android/)
  • 자바스크립트에서 네이티브 기능을 노출하는 플러그인

각 플러그인은 자신의 네이티브 빌드 구성이 있습니다. 안드로이드에서 이것은 각 플러그인이 포함하는 android/build.gradle AGP가 올바르게 파싱하고 컴파일해야 하는

파일입니다. 플러그인 Gradle 설정이 outdated라면 앱 빌드 전체가 실패할 수 있습니다. 심지어 웹 code이 올바른 경우에도.

Capgo는 무엇입니까?

Capgo Capacitor 배포 및 운영을 위한 도구를 제공합니다:

  • 웹 번들 변경에 대한 실시간 업데이트
  • 플러그인 생태계 및 네이티브 기능 패키지
  • CI/CD 친화적인 업데이트 워크플로우를 제공하여 Capacitor 팀에게

실시간 업데이트와 함께도 네이티브 빌드의 안정성은 협상할 수 없는 것입니다. 여전히 다음을 위해 정결한 안드로이드 빌드를 필요로 합니다:

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

그것은 왜 AGP 9 호환성 수정이 중요하다는 것을 의미합니다: 그것은 플러그인 층이 신뢰할 수 있는 것이 되도록 해서 배달 pipe라인이 예측 가능하도록 합니다.

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

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

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

AGP 9 설정에서 이 레거시 베이스 라인 참조는 실패할 수 있습니다. 왜냐하면 이전 파일이 더 이상 예상하는 위치에 보장되지 않기 때문입니다.

일반적인 증상은 Gradle 오류가 빌드 assemble, lint, 또는 build 단계에서 발생하며, 종종 누락된 ProGuard 베이스 라인 리소스 또는 유효하지 않은 기본 파일 참조를指向합니다.

빠른 배경: ProGuard, R8, 및 기본 파일

  • R8 code Android 빌드에서 최신 shrinker/optimizer입니다.
  • proguard-rules.pro 프로젝트/플러그인에서 사용하는 custom keep 규칙이 있는지 확인하세요.
  • getDefaultProguardFile(...) Android에서 제공하는 기본 파일을 삽입합니다.

참조할 때:

  • proguard-android.txt -> 이전 버전, 최소한의 기본 파일
  • proguard-android-optimize.txt -> 현재 설정에서 권장되는 최적화된 기본 파일 (추천)

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 플러그인 저장소 및 템플릿을 모든 공식 Capgo에서 이 마이그레이션을 완료했습니다.

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

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

이것이 오늘날 빌드가 통과하더라도 중요하다고 하는 이유

즉시 실패를 보지 못하는 경우가 있습니다:

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

But finally, clean builds, new environments, or upgraded runners expose it. Doing the migration now removes hidden instability.

__CAPGO_KEEP_0__

Builds가 여전히 실패하는 경우 해결하는 방법

  1. 확인해야 할 점:

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

  3. 공유 스크립트에서 두 번째 참조가 없습니다. 전체 저장소 (포함하여 커스텀 Gradle 스크립트)를 검색하세요. ./gradlew clean 캐시는 깨끗합니다. Run

  4. 및 다시 빌드하세요.

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

  6. CI가 로컬과 동일한 버전을 사용합니다. JDK 및 Gradle wrapper 버전을 CI에서 고정하여 환경 드리프트를 피하세요. node_modules__CAPGO_KEEP_0__만 패치하지 마세요. 트래킹된 플러그인 소스, 전시 의존성 디렉토리를 고치세요.

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

어떻게 고칠까요? proguard-android.txt AGP 9에서 찾을 수 없습니다.

대체:

getDefaultProguardFile('proguard-android.txt')

그리고:

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

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

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

대부분의 실패는 플러그인 파일에 남아 있는 레거시 Gradle 설정에서 오는 것입니다. android/build.gradle AGP 9 프로젝트는 여전히 참조하는 proguard-android.txtAGP 9으로 업그레이드하는 가장 빠른 방법은 여러 __CAPGO_KEEP_0__ 플러그인에 대해 무엇입니까? proguard-android-optimize.txt.

What is the fastest AGP 9 migration path for many Capacitor plugins?

그리고 실행하세요. git grep AGP 9 마이그레이션의 가장 빠른 경로를 사용하여 많은 __CAPGO_KEEP_0__ 플러그인을 사용하는 경우 bun run verify:android 대표 플러그인.

이것은 Capacitor 문제만인가?

아니요. Android 모듈(앱 또는 라이브러리)에서 사용 중인 deprecated ProGuard baseline 참조가 AGP 9 빌드 오류를 유발할 수 있습니다. 특히 플러그인 생태계에서 많은 저장소에서 오래된 템플릿을 공유하기 때문에尤其 그렇습니다.

이번 마이그레이션에 관련된 키워드는 무엇인가?

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

  • AGP 9 빌드 오류
  • Android Gradle Plugin 9 ProGuard 파일 누락
  • Capacitor 플러그인 Android 빌드 실패
  • proguard-android.txt 대체
  • proguard-android-optimize.txt 마이그레이션

최종 takeaway

이 AGP 9 문제는 간단하지만 다중 플러그인 워크스페이스에서 쉽게 놓칠 수 있습니다. __CAPGO_KEEP_0__을 모든 관련된 곳에 대체하면 안드로이드 빌드는 다시 예측 가능해집니다. proguard-android.txtproguard-android-optimize.txt 모든 관련된 곳에

만약 Capgo 플러그인을 사용한다면, 공식 저장소에서 이미 이 마이그레이션을 적용했기 때문에 더 많은 놀람 없이 업그레이드할 수 있습니다.

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

웹-layer 버그가 생긴 경우, 앱 스토어 승인까지 기다리지 않고 Capgo를 통해 픽스를 배포하세요. 사용자는 배경에서 업데이트를 받으며, 네이티브 변경 사항은 일반적인 검토 경로에 남아 있습니다.

시작하기

블로그에서 최신 뉴스

Capgo를 사용하면 전문적인 모바일 앱을 만들기 위해 필요한 모든 통찰력을 얻을 수 있습니다.