Android Studio에서 아무 설정도 하지 않고 APK를 생성하면 release, debug 이런식으로 생성이 되기 때문에 생성후에 다시 이름을 바꿔줘야한다. 


이것은 매우 귀찮은 일이다..


그러므로 build.gradle에서 설정 해주도록 하자.







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
 
android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'
//    lintOptions {
//        checkReleaseBuilds false
//    }
    dexOptions {
        javaMaxHeapSize '2g'
    }
    defaultConfig {
        applicationId 'com.fullstack'
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 113
        versionName "1.1.3"
        multiDexEnabled true
    }
 
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
        }
 
        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                def apk = output.outputFile;
                def newName = apk.name.replace(".apk""_" + defaultConfig.versionCode + ".apk");
                output.outputFile = new File(apk.parentFile, newName);
            }
        }
 
    }
}
 
 
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:recyclerview-v7:23.1.1'
}
cs



코드는 뭐 이런식으로 되어있을 테고.. 봐야할 부분은 다음이다. buildTypes안에 넣어주면 된다.


1
2
3
4
5
6
7
8
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def apk = output.outputFile;
        def newName = apk.name.replace(".apk""_" + defaultConfig.versionCode + ".apk");
        output.outputFile = new File(apk.parentFile, newName);
    }
}
 
cs

apk.name.replace에서 원하는 부분으로 바꿔주도록 한다. 위에 설정은 .apk 부분을 버전 코드를 넣어서 바꾼 부분이다.

이렇게 하면 apk가 생성되었을 때 버전 코드가 같이 붙어나오므로 보기도 편하고 관리도 쉽다. 


+ Recent posts