목록Android/Java (13)
easy-1
앱의 각 부분에 빠르게 액세스하도록 하는 것으로 - 정적 바로가기 - 동적 바로가기 - 고정된 바로가기 로 나뉨 여기서는 고정된 바로가기에 대해서 알아보자 - Android 8.0 (API 수준 26) 이상에서만 고정된 바로가기를 만들 수 있음. - 정적 및 동적 바로가기와 달리 고정된 바로가기는 지원되는 런처에 별도의 아이콘으로 표시됨 1. isRequestPinShortcutSupported() 를 사용하여 바로가기 고정을 지원하는지 확인 2. requestPinShortcut() 을 호출하여 바로가기를 기기의 런처에 고정. 3. 성공적으로 고정된 후 PendingIntent 객체를 전달 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Intent in..

앱 개발시 debug 모드로 컴파일 했을때와 release 모드의 apk 파일을 비교해봤을때 다르게 작동되는 경우가 발생하기도 한다. 이를 확인하기 위해 일일이 apk 파일을 추출하는 번거로움을 덜기위하여 release 모드로 컴파일을 바로 할 수 있다. 1. build.gradle 파일에 android { 안에 해당 코드 작성 // release 컴파일 signingConfigs { release { storeFile file('---.jks') // App 폴더 기준 storePassword "storePassword" keyAlias "keyAlias" keyPassword "keyPassword" } } 2. buildTypes { 안에 적용하는 코드 작성 release { // release 컴..
- 소스 코드 난독화 - 불필요한 리소스 축소 1. 디버그와 릴리즈 구분하기 위해 proguard-debug.pro 파일 생성 디버그 모드에서는 난독화 진행하지 않음 ( 이유 : 디버그 모드도 난독화를 하게되면 클래스명, 라인 등 이 제거되어 디버그가 어려워짐 ) # Begin: Debug ProGuard rules -dontobfuscate -keepattributes SoureFile,LineNumberTable # End: Debug ProGuard rules 2. 디버그와 릴리즈 구분하여 프로가드 설정 buildTypes { debug { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt') // 프로가드 설..
개발을 하다보면 로그를 찍어 디버깅이나 정보를 확인하는 일이 많다. 하지만 이 로그를 그대로 남겨두면 배포된 앱을 사용자들이 로그를 확인이 가능하다. 이를 방지하기 위하여 디버그 모드에서는 로그를 확인할 수 있고, 릴리즈 모드에서는 로그를 확인할 수 없게 만들어준다. 1. Debug 모드 확인 함수 생성 public class Dlog { static final String TAG = "APP_NAME"; /** * Log Level Error **/ public static final void e(String message) { if (BuildConfig.DEBUG) Log.e(TAG, buildLogMsg(message)); } /** * Log Level Warning **/ public stat..