If your Capacitor __CAPGO_KEEP_1__
이 글은 다음과 같은 일반적인 검색 의도에 집중합니다:
- Capacitor 플러그인 빌드 오류 AGP 9
- Android Gradle Plugin 9 플러그인 빌드 실패
proguard-android.txt찾을 수 없음- AGP 9
getDefaultProguardFile오류 - Capacitor Android 빌드 AGP 업그레이드 후 실패
간단한 버전:
proguard-android.txt안ymore는 AGP 9 플러그인 빌드에서 안전한 기본 기준으로 참조할 수 없습니다.- Switch to
proguard-android-optimize.txt. - 재빌드 및 확인.
더 긴 버전도 중요합니다. 특히 많은 플러그인을 유지하거나 대형 Capacitor 워크스페이스를 관리하는 경우입니다. 이 글에서는 다음과 같은 항목을 다룹니다:
- Android 및 AGP가 빌드 chain에서 어떤 역할을 하는가
- Capacitor는 무엇이며 플러그인 빌드가 어떻게 작동하는가
- What Capgo 이 문제는 왜 릴리즈 신뢰성에 중요합니까
- __CAPGO_KEEP_0__는 무엇이며 플러그인 빌드가 어떻게 작동하는가
- __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:
- Gradle Gradle은 빌드 시스템이다.
- 안드로이드 그레이들 플러그인 (AGP) 안드로이드 전용 그레이들 통합을 위한 것이다.
- 안드로이드 SDK 패키징, 축소, linting, 그리고 출력을 위한 도구 체인이다.
.aar,.apk, 또는.aab출력이다.
AGP 버전이 변경될 때, 기본값과 내부 파일도 변경될 수 있다. AGP 8에서 작동하던 플러그인 구성이 AGP 9에서 실패할 수 있다. 만약 그것이 제거된 또는 deprecated baseline에 대한 참조를 가지고 있다면.
Capacitor는 무엇입니까?
Capacitor Capacitor는 iOS/Android 앱을 위한 크로스 플랫폼 런타임으로, 웹 code (TypeScript, JavaScript, HTML, CSS)으로 iOS/Android 앱을 빌드할 수 있으며 native API를 호출할 수 있습니다.
iOS/Android 앱을 빌드할 수 있는 웹 Capacitor (TypeScript, JavaScript, HTML, CSS) 런타임이다. native API를 호출할 수 있다.
- __CAPGO_KEEP_0__ 앱은 일반적으로 다음과 같은 구성으로 이루어져 있다.
- 웹层 (UI 및 비즈니스 로직)
ios/,android/) - JavaScript로 네이티브 기능을 노출하는 플러그인
각 플러그인은 자신의 네이티브 빌드 구성이 있습니다. 안드로이드에서 이 말은 각 플러그인이 포함하는 파일이 AGP가 올바르게 파싱하고 컴파일해야 함을 의미합니다. android/build.gradle AGP가 올바르게 파싱하고 컴파일해야 하는 파일.
code이란?
Capgo
Capgo Capacitor
- 라이브 업데이트스 웹 번들 변경
- 플러그인 생태계 및 네이티브 기능 패키지
- CI/CD-친화적인 Capacitor 업데이트워크플로
Live updates를 사용해도 네이티브 빌드의 안정성은 절대 양보할 수 없습니다. 여전히 다음을 위해 정결한 안드로이드 빌드가 필요합니다:
- 애플 스토어 / 플레이 스토어 릴리스
- 네이티브 플러그인 업그레이드
- 플랫폼 SDK 마이그레이션
- 팀 온보딩 및 CI 신뢰성
이것이 AGP 9 호환성 수정의 중요성입니다: 이들은 플러그인层의 신뢰성을 유지하여 배포 pipeline의 예측성을 유지합니다.
왜 AGP 9이 더 오래된 플러그인 설정을 깨트리는가
많은 플러그인 템플릿은 역사적으로 다음과 같이 사용했습니다:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
AGP 9 설정에서, 이 레거시 베이스 라인 참조는 실패할 수 있습니다. 왜냐하면 더 오래된 템플릿/설정은 더 이상 기대하는 위치에 있는 파일이 보장되지 않기 때문입니다.
Gradle 오류가 발생하는 경우, 또는 assemble, lint, or build 빠른 배경: 프로게이더, R8, 및 baseline 파일
Quick background: ProGuard, R8, baseline files
- R8 안드로이드 빌드에서 최신 code shrinker/optimizer입니다.
proguard-rules.pro프로젝트/플러그인에 사용되는 custom keep 규칙입니다.getDefaultProguardFile(...)안드로이드에서 제공하는 baseline을 주입합니다.
AGP 9 호환성을 위해 다음을 참조하세요:
proguard-android.txt-> legacy, 최소한의 baselineproguard-android-optimize.txt-> modern 최적화된 baseline (현재 설정에서 권장되는 기본값)
AGP 9 호환성을 위해 다음을 사용하세요: proguard-android-optimize.txt 해결책은 한 줄입니다.
플러그인 및 앱 모듈 Gradle 파일을 업데이트하세요:
최소한 다음을 확인하세요:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
__CAPGO_KEEP_0__
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이 안전합니다
이것은 AGP 9 업그레이드 실패의 일반적인 클래스를 방지하기 때문에 중요합니다. 실패가 CI에서 발생하기 전에.
왜 이것은 오늘날 빌드가 통과하더라도 중요하다는 건가요?
당신이 다음과 같은 경우에 즉시 실패를 보지 않을 수 있습니다:
- CI 캐시가 이슈를 가리기 때문입니다
- 프로젝트에 혼합된 AGP 버전이 있기 때문입니다
- 로컬 개발에서만 일부 모듈이 재빌드되기 때문입니다
그러나 결국, 새 환경, 업그레이드된 실행자, 또는 정리된 빌드가 이 문제를 드러내게 됩니다. 이 마이그레이션을 지금 수행하면 잠재적인 불안정성을 제거합니다.
오류가 여전히 발생하는 경우 문제 해결
다음 점을 확인하세요:
-
모든 모듈이 패치되었습니다. 플러그인 모듈, 앱 모듈, 샘플, 템플릿 자산을 확인하세요.
-
공유 스크립트에 두 번째 참조가 없습니다. 전체 저장소(포함하여 커스텀 Gradle 스크립트)를 검색하세요.
-
캐시가 깨끗합니다. Run 및 다시 빌드하세요.
./gradlew cleanAGP / Gradle / JDK 버전이 일치합니다. Android 문서에서 지원하는 AGP 버전과 일치하는 combination을 사용하세요. -
CI가 로컬과 동일한 버전을 사용합니다. CI에서 JDK 및 Gradle wrapper 버전을 고정하여 환경이동을 피하세요.
-
패치하는 것은 만들지 마세요. 트래킹된 플러그인 소스만 고치세요, transient dependency 디렉토리만 패치하지 마세요.
-
AGP 9 __CAPGO_KEEP_0__ 플러그인 빌드 오류: SEO FAQ
node_modules오류를 어떻게 고칠까요?
SEO FAQ: AGP 9 Capacitor plugin build errors
AGP 9 __CAPGO_KEEP_0__ 플러그인 빌드 오류: SEO FAQ proguard-android.txt AGP 9에서 찾을 수 없음?
Replace:
getDefaultProguardFile('proguard-android.txt')
With:
getDefaultProguardFile('proguard-android-optimize.txt')
그런 다음 clean rebuild를 실행하세요.
Android Gradle Plugin 9으로 업그레이드 후 Capacitor 플러그인 빌드가 실패하는 이유는 무엇인가요?
대부분의 실패는 플러그인 파일에 남아 있는 legacy 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 을 실행하세요. bun run verify:android 그런 다음 clean rebuild를 실행하세요.
이것은 Capacitor 문제만인가요?
아니요. Android 모듈(앱 또는 라이브러리)에서 사용 중인 deprecated ProGuard baseline 참조가 AGP 9 빌드 오류를 일으킬 수 있습니다. 특히 플러그인 생태계에서 많은 저장소가 오래된 템플릿을 공유하기 때문에 더 잘 드러납니다.
이번 마이그레이션에 관련된 키워드는 무엇인가요?
내부 문서나 지원 페이지에 이 내용을 문서화할 때, 다음 용어를 포함하세요:
- AGP 9 빌드 오류
- Android Gradle Plugin 9 ProGuard 파일 누락
- Capacitor 플러그인 Android 빌드 실패
proguard-android.txt대체proguard-android-optimize.txt마이그레이션
관련 링크
- 안드로이드 개발자: 앱 빌드 개요
- 안드로이드 그라드레 플러그인: 릴리즈 노트
- 안드로이드 code 축소: R8 및 규칙
- 그라드레 문서: 빌드 도구 기초
- Capacitor 문서: 공식 문서
- Capgo 문서: 자동 업데이트 문서
최종 결론
이 AGP 9 문제는 간단하지만, 여러 플러그인 워크스페이스에서 쉽게 놓치기 쉬운 문제입니다. 한 번에 __CAPGO_KEEP_0__를 proguard-android.txt Capgo proguard-android-optimize.txt 모든 관련된 곳에서
만약에 Capgo 플러그인을 사용한다면, 공식 저장소에서는 이 업그레이드가 이미 적용되어 있기 때문에 더 많은 충돌이 일어나지 않도록 업그레이드할 수 있습니다.
Capacitor 플러그인 AGP 9 빌드 오류 해결
__CAPGO_KEEP_0__ 플러그인 AGP 9 빌드 오류 수정 Capacitor 플러그인 AGP 9 빌드 오류 해결 CI/CD 자동화 계획을 위해 __CAPGO_KEEP_0__ CI/CD와 연결합니다. Capgo CI/CD 제품 워크플로우에서 Capgo CI/CD를 사용합니다. Capgo 네이티브 빌드 제품 워크플로우에서 Capgo 네이티브 빌드를 사용합니다. Capgo 통합 Capgo 제품 워크플로우에서 Capgo 통합을 위해 CI/CD 통합 CI/CD 통합 구현 세부 정보에서 GitHub 액션 통합 CI/CD 통합 구현 세부 정보에서 GitHub 액션 통합