티스토리 뷰
요즘은 회사에서 피들러를 많이 사용합니다.
뭐... 이렇게 되면 실제 서버로 빌드를 하여 주어도 피들러를 타게 되면 테스트 서버로 가게 되니까요.
그렇지만 이렇게 해서 주는것도 귀찮아 하는 갑들이 있기 때문에 이런 부분들은 우리가 만들어주어야겠지요.
안드로이드 같은 경우에는 저는 두개의 버전을 만들어서 줍니다.
일단 이번에는 어떻게 하면 빌드를 조금 더 손이 안아가 하나를 고민해 봅시다.
- module build.gardle파일을 열어봅시다.
안에보면 buildType이라는것이 보일것이고요.
저는 이렇게 설정하였습니다.
1 2 3 4 5 6 7 8 9 10 11 | buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' manifestPlaceholders = [appName: "${projectName}"] } debug { manifestPlaceholders = [appName: "${projectName}?"] applicationIdSuffix ".test" } } | cs |
buildType이 release일 경우에는 proguard도 적용하면서 placeHolder 즉 프로젝트의 이름을 제가 지정한 변수의 값으로 하였습니다.
buildType일 경우에는 프로젝트의 이름을 지정한것외에 뒤에 ? (물음표) 를 넣어주었습니다.
그리고 패키지명은 지금 지정해둔 package name에 .test를 붙여주었습니다.
프로가드는 하지 않았습니다. 디버그는 디버그니까요.
이렇게 패키지명이 두개가 다르게 하여 주어서 두개를 한번에 설치를 할 수 있도록 하여 주었고요.
이름을 변경하여 주면서 설치시에 갑들이 헷갈리지 않도록 설치가 되도록 하였습니다. ^^
자 그럼 조금 보신분들중에 궁금하신 부분이 아마도 또 있을 겁니다. projectName은 어떻게 지정을 하였는가?
1 2 3 4 | android { compileSdkVersion 26 buildToolsVersion '26.0.2' ext.projectName = "프로젝트" | cs |
같은 파일의 제일 위쪽 android에 넣어주면 됩니다. 참 쉽죠? ^^
자 그리고 한가지를 더 해주어야 합니다.
- AndroidManifest.xml 파일로 이동합니다.
1 2 3 4 5 6 7 8 9 | <application android:name="test.package" android:allowBackup="false" android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="${appName}" android:largeHeap="true" android:theme="@style/AppTheme" tools:ignore="UnusedAttribute"> | cs |
위의 내용중에 보면 label. 즉 프로젝트의 이름이 $로 들어가 있는데요.
이건 gradle특성으로 아까 지정한 이름을 가져오는 겁니다.
위의 buildType에 manifestPlaceholders = [appName: "${projectName}"]
분명히 지정해주었습니다.!!
이후에 안드로이드 스튜디오 메뉴에 Build > Build APK(s) 를 선택하여 줍니다.
locate를 선택하여 줍니다. 그럼 생성된 파일이 나오게 됩니다.
'Mobile > Android' 카테고리의 다른 글
AndroidStudio gradle로 자동 버전 관리? (0) | 2018.02.19 |
---|---|
proguard 설정에서 패키지 아래 파일들 다 keep 하기 (0) | 2018.01.28 |
adb를 이용하여 화면 캡쳐하기 (0) | 2018.01.12 |
안드로이드 View의 Method 호출 순서 (0) | 2018.01.09 |
안드로이드 센서 이용하기 (0) | 2018.01.08 |
- Total
- Today
- Yesterday
- Linux
- Kotlin
- ubuntu
- golang
- Windows
- ios
- Codable
- CentOS
- Spring
- php
- github
- intellij
- go
- tomcat
- cocoapods
- rxswift
- SWIFT
- Java
- MySQL
- Xcode
- git
- centos8
- docker
- enum
- windows10
- Python
- Gradle
- android
- nodejs
- war
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |