빌드 오류 수정
This commit is contained in:
121
build-apk.sh
121
build-apk.sh
@@ -45,20 +45,76 @@ esac
|
||||
|
||||
# 현재 버전 코드 가져오기
|
||||
CURRENT_VERSION_CODE=$(grep -o 'versionCode [0-9]*' android/app/build.gradle | awk '{print $2}')
|
||||
# 버전 코드가 비어있으면 기본값 1로 설정
|
||||
if [ -z "$CURRENT_VERSION_CODE" ]; then
|
||||
CURRENT_VERSION_CODE=1
|
||||
echo -e "${YELLOW}버전 코드가 없어 기본값 1로 설정했습니다.${NC}"
|
||||
fi
|
||||
echo -e "${YELLOW}현재 버전 코드: ${CURRENT_VERSION_CODE}${NC}"
|
||||
|
||||
# 현재 버전 이름 가져오기
|
||||
CURRENT_VERSION_NAME=$(grep -o 'versionName "[^"]*"' android/app/build.gradle | sed 's/versionName "//' | sed 's/"//')
|
||||
# 버전 이름이 비어있으면 기본값 1.0.0으로 설정
|
||||
if [ -z "$CURRENT_VERSION_NAME" ]; then
|
||||
CURRENT_VERSION_NAME="1.0.0"
|
||||
echo -e "${YELLOW}버전 이름이 없어 기본값 1.0.0으로 설정했습니다.${NC}"
|
||||
fi
|
||||
echo -e "${YELLOW}현재 버전 이름: ${CURRENT_VERSION_NAME}${NC}"
|
||||
|
||||
# 버전 정보 수정 여부 확인
|
||||
echo -e "${YELLOW}버전 정보를 수정하시겠습니까? (y/n)${NC}"
|
||||
read -r MODIFY_VERSION
|
||||
if [[ "$MODIFY_VERSION" == "y" || "$MODIFY_VERSION" == "Y" ]]; then
|
||||
# 버전 코드 입력
|
||||
echo -e "${YELLOW}새 버전 코드를 입력하세요 (현재: ${CURRENT_VERSION_CODE}):${NC}"
|
||||
read -r NEW_VERSION_CODE_INPUT
|
||||
if [ -n "$NEW_VERSION_CODE_INPUT" ]; then
|
||||
NEW_VERSION_CODE=$NEW_VERSION_CODE_INPUT
|
||||
else
|
||||
NEW_VERSION_CODE=$CURRENT_VERSION_CODE
|
||||
fi
|
||||
|
||||
# 버전 이름 입력
|
||||
echo -e "${YELLOW}새 버전 이름을 입력하세요 (현재: ${CURRENT_VERSION_NAME}):${NC}"
|
||||
read -r NEW_VERSION_NAME_INPUT
|
||||
if [ -n "$NEW_VERSION_NAME_INPUT" ]; then
|
||||
VERSION_NAME=$NEW_VERSION_NAME_INPUT
|
||||
else
|
||||
VERSION_NAME=$CURRENT_VERSION_NAME
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}버전 정보가 업데이트되었습니다: 버전 코드=${NEW_VERSION_CODE}, 버전 이름=${VERSION_NAME}${NC}"
|
||||
else
|
||||
NEW_VERSION_CODE=$CURRENT_VERSION_CODE
|
||||
VERSION_NAME=$CURRENT_VERSION_NAME
|
||||
fi
|
||||
|
||||
# 빌드 넘버 자동 설정
|
||||
BUILD_NUMBER=$CURRENT_VERSION_CODE
|
||||
BUILD_NUMBER=$NEW_VERSION_CODE
|
||||
echo -e "${GREEN}빌드 넘버가 자동으로 ${BUILD_NUMBER}(으)로 설정되었습니다.${NC}"
|
||||
|
||||
# 빌드 넘버 수정 여부 확인
|
||||
echo -e "${YELLOW}빌드 넘버를 수정하시겠습니까? (y/n)${NC}"
|
||||
read -r MODIFY_BUILD
|
||||
if [[ "$MODIFY_BUILD" == "y" || "$MODIFY_BUILD" == "Y" ]]; then
|
||||
echo -e "${YELLOW}새 빌드 넘버를 입력하세요 (현재: ${BUILD_NUMBER}):${NC}"
|
||||
read -r NEW_BUILD_NUMBER
|
||||
if [ -n "$NEW_BUILD_NUMBER" ]; then
|
||||
BUILD_NUMBER=$NEW_BUILD_NUMBER
|
||||
echo -e "${GREEN}빌드 넘버가 ${BUILD_NUMBER}(으)로 설정되었습니다.${NC}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 릴리즈 빌드인 경우 버전 코드 증가 여부 확인
|
||||
NEW_VERSION_CODE=$CURRENT_VERSION_CODE
|
||||
if [[ "$BUILD_TYPE" == "release-aab" || "$BUILD_TYPE" == "release-apk" ]]; then
|
||||
echo -e "${YELLOW}버전 코드를 증가시키겠습니까? 현재 버전 코드: ${CURRENT_VERSION_CODE} (y/n)${NC}"
|
||||
read -r INCREASE_VERSION
|
||||
if [[ "$INCREASE_VERSION" == "y" || "$INCREASE_VERSION" == "Y" ]]; then
|
||||
NEW_VERSION_CODE=$((CURRENT_VERSION_CODE + 1))
|
||||
echo -e "${GREEN}버전 코드가 ${NEW_VERSION_CODE}(으)로 증가됩니다.${NC}"
|
||||
# 버전 정보를 이미 수정했다면 다시 묻지 않음
|
||||
if [[ "$MODIFY_VERSION" != "y" && "$MODIFY_VERSION" != "Y" ]]; then
|
||||
echo -e "${YELLOW}버전 코드를 증가시키겠습니까? 현재 버전 코드: ${NEW_VERSION_CODE} (y/n)${NC}"
|
||||
read -r INCREASE_VERSION
|
||||
if [[ "$INCREASE_VERSION" == "y" || "$INCREASE_VERSION" == "Y" ]]; then
|
||||
NEW_VERSION_CODE=$((NEW_VERSION_CODE + 1))
|
||||
echo -e "${GREEN}버전 코드가 ${NEW_VERSION_CODE}(으)로 증가됩니다.${NC}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 키스토어 정보 자동 설정
|
||||
@@ -78,25 +134,18 @@ fi
|
||||
|
||||
echo -e "${YELLOW}Zellyy Finance 앱 빌드 시작 (${BUILD_TYPE}, 빌드 넘버: ${BUILD_NUMBER}, 버전 코드: ${NEW_VERSION_CODE}): $(date)${NC}"
|
||||
|
||||
# 캐시 삭제
|
||||
echo -e "${YELLOW}빌드 캐시 삭제 중...${NC}"
|
||||
rm -rf node_modules/.vite
|
||||
rm -rf android/app/build
|
||||
rm -rf android/.gradle
|
||||
rm -rf dist
|
||||
echo -e "${GREEN}빌드 캐시가 삭제되었습니다.${NC}"
|
||||
|
||||
# 빌드 넘버 및 버전 코드 업데이트
|
||||
echo -e "${YELLOW}버전 정보 파일 업데이트 중...${NC}"
|
||||
|
||||
# version.properties 파일 업데이트
|
||||
echo "buildNumber=$BUILD_NUMBER" > android/version.properties
|
||||
echo "versionCode=$NEW_VERSION_CODE" >> android/version.properties
|
||||
echo "versionName=$(grep -o 'versionName "[^"]*"' android/app/build.gradle | sed 's/versionName "//' | sed 's/"//')" >> android/version.properties
|
||||
|
||||
# app_version.json 파일 업데이트
|
||||
VERSION_NAME=$(grep -o 'versionName "[^"]*"' android/app/build.gradle | sed 's/versionName "//' | sed 's/"//')
|
||||
cat > android/app_version.json << EOF
|
||||
# 버전 정보를 파일에 저장하는 함수
|
||||
save_version_info() {
|
||||
# version.properties 파일 업데이트 - 루트 디렉토리와 app 디렉토리 모두에 저장
|
||||
echo "buildNumber=$BUILD_NUMBER" > android/version.properties
|
||||
echo "versionCode=$NEW_VERSION_CODE" >> android/version.properties
|
||||
echo "versionName=$VERSION_NAME" >> android/version.properties
|
||||
|
||||
# app 디렉토리에도 동일한 파일 복사
|
||||
cp android/version.properties android/app/version.properties
|
||||
|
||||
# app_version.json 파일 업데이트
|
||||
cat > android/app_version.json << EOF
|
||||
{
|
||||
"versionCode": $NEW_VERSION_CODE,
|
||||
"versionName": "$VERSION_NAME",
|
||||
@@ -105,15 +154,19 @@ cat > android/app_version.json << EOF
|
||||
}
|
||||
EOF
|
||||
|
||||
# build.gradle 파일 업데이트 (이전 방식 유지)
|
||||
sed -i '' "s/buildConfigField \"int\", \"BUILD_NUMBER\", \"[0-9]*\"/buildConfigField \"int\", \"BUILD_NUMBER\", \"$BUILD_NUMBER\"/" android/app/build.gradle
|
||||
sed -i '' "s/versionCode [0-9]*/versionCode $NEW_VERSION_CODE/" android/app/build.gradle
|
||||
echo -e "${GREEN}버전 정보가 파일에 저장되었습니다: 버전 코드=${NEW_VERSION_CODE}, 버전 이름=${VERSION_NAME}, 빌드 넘버=${BUILD_NUMBER}${NC}"
|
||||
}
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e "${RED}버전 정보 파일 업데이트 실패. 빌드 프로세스를 중단합니다.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${GREEN}빌드 넘버가 ${BUILD_NUMBER}(으)로, 버전 코드가 ${NEW_VERSION_CODE}(으)로 업데이트되었습니다.${NC}"
|
||||
# 빌드 시작 전에 버전 정보 저장
|
||||
save_version_info
|
||||
|
||||
# 캐시 삭제
|
||||
echo -e "${YELLOW}빌드 캐시 삭제 중...${NC}"
|
||||
rm -rf node_modules/.vite
|
||||
rm -rf android/app/build
|
||||
rm -rf android/.gradle
|
||||
rm -rf dist
|
||||
echo -e "${GREEN}빌드 캐시가 삭제되었습니다.${NC}"
|
||||
|
||||
# 1. 웹 앱 빌드
|
||||
echo -e "${YELLOW}1. 웹 앱 빌드 중...${NC}"
|
||||
|
||||
Reference in New Issue
Block a user