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