본문으로 바로가기

Android-nRF-Toolbox 빌드 에러(versionCode :-1)

category Android_app 2022. 6. 15. 18:48

Android-nRF-Toolbox 앱 다운로드후 빌드 에러가 발생해 디버깅 해봤습니다.

==> 에러 메시지

A problem occurred configuring project ':app'.

Cause: android.defaultConfig.versionCode is set to -1, but it should be a positive integer.
See https://developer.android.com/studio/publish/versioning#appversioning for more information.

 

▶ versionCode 관련 에러가 나오네요.

     .gradle 파일에서 검색을 하니 다음처럼 사용하는 부분이 나옵니다.

 

$ grep -r  versionCode --include="*.gradle"
Android-nRF-Toolbox-main/app/build.gradle:        versionCode getVersionCodeFromTags()
Android-nRF-Toolbox-main/library.gradle:        versionCode 1

    ==> 에러내용이  app 프로젝트에이니 app/build.gradle 파일을 열어 봤습니다.

 

  defaultConfig {
        applicationId "no.nordicsemi.android.nrftoolbox"
        minSdk android_min_api_version
        targetSdk android_api_version
        versionCode getVersionCodeFromTags()
        versionName getVersionNameFromTags()

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary true
        }
    }

  ▶ versionCode , versionName 적용코드를 보니 함수가 사용되네요.

    

  ==> 함수정의는 gradle/git-tag-version.gradle 안에 정의가 되어 있습니다.

ext.getVersionCodeFromTags = { ->
    try {
        def code = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'log'
            standardOutput = code
        }
        return code.toString().split("\n").size()
    }
    catch (ignored) {
        return -1
    }
}

    git 과 연관이 되어 있네요.

    현재 git 을 안쓰므로 값을 직접 적어 줬습니다.

    versionCode getVersionCodeFromTags()
    --> 
    versionCode 3

 

▶ nRF Toolbox github 프로젝트 위치

https://github.com/NordicSemiconductor/Android-nRF-Toolbox

 

GitHub - NordicSemiconductor/Android-nRF-Toolbox: The nRF Toolbox is a container app that stores your Nordic Semiconductor apps

The nRF Toolbox is a container app that stores your Nordic Semiconductor apps for Bluetooth Low Energy in one location. - GitHub - NordicSemiconductor/Android-nRF-Toolbox: The nRF Toolbox is a cont...

github.com

 

 ==> 프로젝트를 VCS 를 사용해서 생성하면 굳이 위의 에러 발생하지 않습니다.

       참고하세요.

 

 

 

그럼 수고하세요.

반응형