- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스) - Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포 - 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
84 lines
2.3 KiB
Markdown
84 lines
2.3 KiB
Markdown
# GUARDiA Messenger 빌드 이슈 이력
|
|
|
|
## 이슈 1: android/ 폴더 → Bare Workflow 오인 (해결됨)
|
|
|
|
**증상**: `EAS_BUILD_UNKNOWN_GRADLE_ERROR`
|
|
|
|
**원인**: 로컬에서 `expo prebuild` 실행 시 `android/` 폴더 생성 → EAS 업로드 시 포함 →
|
|
EAS가 Bare Workflow로 인식 → 로컬 android/ 사용 → EAS 환경과 불일치 → 실패
|
|
|
|
**해결**:
|
|
```
|
|
# .easignore에 추가
|
|
android/
|
|
ios/
|
|
```
|
|
|
|
EAS는 `android/` 없으면 자동으로 `expo prebuild` + Gradle 빌드 수행.
|
|
|
|
---
|
|
|
|
## 이슈 2: PIL PNG + AAPT2 충돌 (해결됨)
|
|
|
|
**증상**: `expo-splash-screen:packageReleaseResources` 단계 실패
|
|
|
|
**원인**: Python PIL이 생성한 PNG 파일 + `enablePngCrunchInReleaseBuilds=true` →
|
|
AAPT2(Android Asset Packaging Tool v2) PNG cruncher가 처리 불가
|
|
|
|
**해결**: `plugins/withGradleProps.js` 생성:
|
|
```js
|
|
const { withGradleProperties } = require('@expo/config-plugins')
|
|
module.exports = function(config) {
|
|
return withGradleProperties(config, (cfg) => {
|
|
const props = cfg.modResults
|
|
const set = (key, value) => {
|
|
const idx = props.findIndex(p => p.key === key)
|
|
idx !== -1 ? props[idx].value = value : props.push({ type:'property', key, value })
|
|
}
|
|
set('android.enablePngCrunchInReleaseBuilds', 'false')
|
|
set('reactNativeArchitectures', 'arm64-v8a')
|
|
set('org.gradle.jvmargs', '-Xmx4096m -XX:MaxMetaspaceSize=1024m')
|
|
return cfg
|
|
})
|
|
}
|
|
```
|
|
|
|
`app.json` plugins에 `"./plugins/withGradleProps"` 추가.
|
|
|
|
---
|
|
|
|
## 이슈 3: expo-notifications 플러그인 (해결됨)
|
|
|
|
**증상**: Firebase 관련 Gradle 빌드 실패
|
|
|
|
**원인**: `expo-notifications` 플러그인이 `google-services.json` 필요
|
|
|
|
**해결**: `app.json` plugins에서 `expo-notifications` 제거.
|
|
푸시 알림 구현 시 Firebase 프로젝트 설정 후 다시 추가.
|
|
|
|
---
|
|
|
|
## 이슈 4: expo-router/babel deprecated (해결됨)
|
|
|
|
**증상**: babel 관련 경고/오류
|
|
|
|
**원인**: Expo SDK 51에서 `expo-router/babel` deprecated
|
|
|
|
**해결**: `babel.config.js`:
|
|
```js
|
|
module.exports = function(api) {
|
|
api.cache(true)
|
|
return { presets: ['babel-preset-expo'] }
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 현재 성공한 빌드 설정
|
|
|
|
- **빌드 ID**: 51096ada-9735-4ea8-9e81-5f5991731ea8
|
|
- **플랫폼**: Android
|
|
- **프로필**: preview (APK)
|
|
- **EAS 계정**: zioinfo
|
|
- **프로젝트 ID**: ca2f72d6-7dda-4491-9590-7ace34b10a88
|