앱 이름을 '월간코딩' 이라고 하겠습니다.
서버 종류별 빌드 환경 구성
ㅇ 수정할 파일: build.graddle(Module:app)
flavorDimensions "version"
productFlavors {
live {
dimension "version"
manifestPlaceholders = [
appLabel: "live"
, appName: "월간코딩"
]
applicationIdSuffix ""
buildConfigField "String", "HOSTNAME", "\"https://tera.co.kr\""
}
dev {
dimension "version"
manifestPlaceholders = [
appLabel: "dev"
, appName: "(D)월간코딩"
]
applicationIdSuffix ".dev"
buildConfigField "String", "HOSTNAME", "\"https://dev.tera.co.kr\""
}
stage {
dimension "version"
manifestPlaceholders = [
appLabel: "stage"
, appName: "(S)월간코딩"
]
applicationIdSuffix ".stage"
buildConfigField "String", "HOSTNAME", "\"https://stage.tera.co.kr\""
}
}
ㅇ 폴더 생성
- suffix와 동일한 폴더 생성
/app/src/dev, app/src/stage
- Firebase 설정의 경우 /app/src/main의 google-services.json 을 위 폴더에 각각 복사
- google-services.json의 내용에 들어가서 .dev, .stage 번들Id 추가
ㅇ 수정할 파일: AndroidManifest.xml
위 1번 파일에서 정의한 appName을 앱 이름으로 한다.
<application
다른 부분
android:label="${appName}"
다른 부분
>
서버 주소를 읽어온다.
ㅇ 수정할 파일: MainActivity.java
// ===================================================
// 브라우저 셋업 ========================================
// ===================================================
Constants.server_url = BuildConfig.HOSTNAME;
Log.d(TAG, "초기 서버 주소: " + Constants.server_url);
setupBrowser(server_url);
스테이지/개발 표시
- TextView 위젯 생성
ㅇ수정할 파일 : activity_main.xml
<TextView
android:id="@+id/tv_service_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#7EFFF200"
android:padding="8dp"
android:text="Service_Mode"
android:textAlignment="center"
android:textColor="#000000"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
ㅇ 수정할 파일: MainActivity.java
// 변수 선언
private TextView tvServiceMode;
// 위젯 할당
tvServiceMode = (TextView) findViewById(R.id.tv_service_mode);
//
// 스테이지 개발 표시 OnCreate
//
setModeButton();
//
// 스테이지 개발 표시 함수 선언
//
private void setModeButton() {
if ( server_url.contains("stage") || server_url.contains("dev") ) {
String buttonText = "";
if (server_url.contains("stage")) {
buttonText = " STAGE ";
} else if (server_url.contains("dev")) {
buttonText = " DEV ";
}
tvServiceMode.setText(buttonText);
tvServiceMode.setVisibility(View.VISIBLE);
}
}
(부록) apk 파일 이름 변경
파일: build.graddle(Module:app)
defaultConfig {
// 기타내용들
setProperty("archivesBaseName", "월간코딩-v" + versionName)
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}
'웹앱(하이브리드앱)' 카테고리의 다른 글
안드로이드 웹뷰에서 mp4 재생시 playback 이미지 감추기 (0) | 2021.04.19 |
---|---|
iOS 웹뷰에 쿠키 쓰기 (0) | 2021.01.15 |
FCM Push Sample - PHP (0) | 2020.04.22 |
하이브리드앱 HyApp을 위한 Firebase 설정 2 - 안드로이드 앱추가 (0) | 2020.04.07 |
HyApp 하이브리드웹앱을 위한 Firebase 설정 1 (0) | 2020.04.07 |
댓글