버전 표시 오류 수정2
This commit is contained in:
@@ -9,46 +9,97 @@ android {
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
|
||||
// 기본 버전 정보 (최신 버전으로 설정)
|
||||
def defaultVersionName = '1.1.1.3'
|
||||
def defaultVersionCode = 7
|
||||
def defaultBuildNumber = 7
|
||||
|
||||
// version.properties 파일 로드
|
||||
def versionPropsFile = file("${rootDir}/version.properties")
|
||||
def versionProps = new Properties()
|
||||
|
||||
try {
|
||||
if (versionPropsFile.canRead()) {
|
||||
if (versionPropsFile.exists() && versionPropsFile.canRead()) {
|
||||
versionProps.load(new FileInputStream(versionPropsFile))
|
||||
println "버전 정보 로드: versionName=${versionProps['versionName']}, versionCode=${versionProps['versionCode']}, buildNumber=${versionProps['buildNumber']}"
|
||||
} else {
|
||||
println "version.properties 파일을 읽을 수 없음, 기본값 사용"
|
||||
versionProps['versionName'] = '1.1.1.2'
|
||||
versionProps['versionCode'] = '6'
|
||||
versionProps['buildNumber'] = '6'
|
||||
println "version.properties 파일을 읽을 수 없음, 기본값 사용: versionName=${defaultVersionName}, versionCode=${defaultVersionCode}, buildNumber=${defaultBuildNumber}"
|
||||
versionProps['versionName'] = defaultVersionName
|
||||
versionProps['versionCode'] = defaultVersionCode.toString()
|
||||
versionProps['buildNumber'] = defaultBuildNumber.toString()
|
||||
|
||||
// properties 파일이 없는 경우 생성
|
||||
try {
|
||||
versionPropsFile.getParentFile().mkdirs()
|
||||
versionPropsFile.createNewFile()
|
||||
|
||||
def outputStream = new FileOutputStream(versionPropsFile)
|
||||
versionProps.store(outputStream, "자동 생성된 버전 정보")
|
||||
outputStream.close()
|
||||
println "version.properties 파일 생성 성공"
|
||||
} catch (Exception e) {
|
||||
println "version.properties 파일 생성 실패: ${e.message}"
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
println "버전 정보 로드 오류, 기본값 사용: ${e.message}"
|
||||
versionProps['versionName'] = '1.1.1.2'
|
||||
versionProps['versionCode'] = '6'
|
||||
versionProps['buildNumber'] = '6'
|
||||
versionProps['versionName'] = defaultVersionName
|
||||
versionProps['versionCode'] = defaultVersionCode.toString()
|
||||
versionProps['buildNumber'] = defaultBuildNumber.toString()
|
||||
}
|
||||
|
||||
// 빈 문자열이나 null 값 검사
|
||||
if (!versionProps['versionName'] || versionProps['versionName'].trim().isEmpty()) {
|
||||
versionProps['versionName'] = '1.1.1.2'
|
||||
}
|
||||
if (!versionProps['versionCode'] || versionProps['versionCode'].trim().isEmpty()) {
|
||||
versionProps['versionCode'] = '6'
|
||||
}
|
||||
if (!versionProps['buildNumber'] || versionProps['buildNumber'].trim().isEmpty()) {
|
||||
versionProps['buildNumber'] = '6'
|
||||
}
|
||||
|
||||
// 빌드 정보 설정
|
||||
versionName versionProps['versionName']
|
||||
versionCode versionProps['versionCode'] ? versionProps['versionCode'].toInteger() : 6
|
||||
// 로드된 값이 유효한지 확인하고, 유효하지 않으면 기본값 사용
|
||||
def versionName = defaultVersionName
|
||||
def versionCode = defaultVersionCode
|
||||
def buildNumber = defaultBuildNumber
|
||||
|
||||
// 빌드 설정에 BuildConfig 필드 추가
|
||||
buildConfigField "String", "VERSION_NAME", "\"${versionProps['versionName']}\""
|
||||
buildConfigField "int", "VERSION_CODE", "${versionProps['versionCode'] ? versionProps['versionCode'].toInteger() : 6}"
|
||||
buildConfigField "int", "BUILD_NUMBER", "${versionProps['buildNumber'] ? versionProps['buildNumber'].toInteger() : 6}"
|
||||
if (versionProps['versionName'] && !versionProps['versionName'].toString().trim().isEmpty()) {
|
||||
versionName = versionProps['versionName']
|
||||
} else {
|
||||
println "유효하지 않은 versionName, 기본값 사용: ${defaultVersionName}"
|
||||
}
|
||||
|
||||
if (versionProps['versionCode'] && !versionProps['versionCode'].toString().trim().isEmpty()) {
|
||||
try {
|
||||
versionCode = versionProps['versionCode'].toString().toInteger()
|
||||
if (versionCode <= 0) {
|
||||
println "유효하지 않은 versionCode(0 이하), 기본값 사용: ${defaultVersionCode}"
|
||||
versionCode = defaultVersionCode
|
||||
}
|
||||
} catch (Exception e) {
|
||||
println "versionCode 변환 오류, 기본값 사용: ${e.message}"
|
||||
versionCode = defaultVersionCode
|
||||
}
|
||||
} else {
|
||||
println "유효하지 않은 versionCode, 기본값 사용: ${defaultVersionCode}"
|
||||
}
|
||||
|
||||
if (versionProps['buildNumber'] && !versionProps['buildNumber'].toString().trim().isEmpty()) {
|
||||
try {
|
||||
buildNumber = versionProps['buildNumber'].toString().toInteger()
|
||||
if (buildNumber <= 0) {
|
||||
println "유효하지 않은 buildNumber(0 이하), 기본값 사용: ${defaultBuildNumber}"
|
||||
buildNumber = defaultBuildNumber
|
||||
}
|
||||
} catch (Exception e) {
|
||||
println "buildNumber 변환 오류, 기본값 사용: ${e.message}"
|
||||
buildNumber = defaultBuildNumber
|
||||
}
|
||||
} else {
|
||||
println "유효하지 않은 buildNumber, 기본값 사용: ${defaultBuildNumber}"
|
||||
}
|
||||
|
||||
// 최종 로그 출력
|
||||
println "최종 버전 정보: versionName=${versionName}, versionCode=${versionCode}, buildNumber=${buildNumber}"
|
||||
|
||||
// 앱 빌드 속성 설정
|
||||
versionName "${versionName}"
|
||||
versionCode versionCode
|
||||
|
||||
// BuildConfig 필드 설정
|
||||
buildConfigField "String", "VERSION_NAME", "\"${versionName}\""
|
||||
buildConfigField "int", "VERSION_CODE", "${versionCode}"
|
||||
buildConfigField "int", "BUILD_NUMBER", "${buildNumber}"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"versionCode": 6,
|
||||
"versionName": "1.1.1.2",
|
||||
"buildNumber": 6,
|
||||
"versionCode": 7,
|
||||
"versionName": "1.1.1.3",
|
||||
"buildNumber": 7,
|
||||
"notes": "사용자가 수정한 버전 정보입니다. 이 파일을 편집하여 앱 버전 정보를 변경할 수 있습니다."
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
buildNumber=6
|
||||
versionCode=6
|
||||
versionName=1.1.1.2
|
||||
buildNumber=7
|
||||
versionCode=7
|
||||
versionName=1.1.1.3
|
||||
|
||||
Reference in New Issue
Block a user