Android 10

[Android] adb install 사용하여 APK 설치하기

adb 명령어를 통해 APK 설치를 자주 할 때는 옵션까지 다 기억이 났는데, 요즘은 그렇지 않다 보니 정리해 보았다. adb install [options] path 내가 자주 사용하는 option에는 두 가지가 있다. -r: reinstall, 재설치 -d: downgrade, 기존보다 낮은 버전 설치 전체 option 종류는 아래와 같다. 마주했던 문제 - Signature do not match PS C:\Users\LeeSM> adb install -r .\[APK NAME].apk Performing Streamed Install adb: failed to install .\[APK NAME].apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE] 이미 설치되어 ..

Android 2023.03.03

[Android] TextView breakStrategy 속성에 대하여 - 긴 글 줄 바꿈 규칙

TextView에 긴 글을 출력할 때, 줄 바꿈 규칙을 정하는 breakStrategy 라는 속성이 있다. breakStrategy에는 balanced, high_quality, simple 세 가지의 값이 올 수 있으며 예제 코드로 이 값들이 어떻게 적용되는지 확인해본다 👩‍🔬 1. android:breakStrategy="simple" 가장 간단한 정책으로, 줄을 벗어나는 단어는 다음 줄에 출력한다. 2. android:breakStrategy="high_quality" 자동으로 하이픈을 사용해 출력한다. breakStategy 속성만을 이용하면 simple과 high_quality가 같은 형태이고, hyphenationFrequency 속성을 추가하면 자동으로 하이픈을 추가하여 긴 문장 출력을 한다..

Android 2022.04.22

[Android] Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option 해결 방법

문제 상황 늘 하던 방식대로 ViewModelFactory를 구현했는데 빨간 줄이 뜬다. Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option 해결 방법 이 문제는 LifeCycle 2.5.0.alpha01 과 같은 라이브러리의 문제로 보여진다. 1. 회피하는 방법 사용하는 LifeCycle 라이브러리의 버전을 변경한다. 2. 해당 옵션 변경하여 컴파일하는 방법 build.gradle 파일에 아래의 코드를 추가하여 -Xjvm-default 옵션을 all로 변경한다. tasks.withType(KotlinCompile).configureEach { kotlinOptions { free..

Android/Kotlin 2022.03.04

[Android] java.lang.NoSuchMethodError: No static method metafactory 해결 방법

java.lang.NoSuchMethodError: No static method metafactory 가 발생했다. 문제 상황 DataBinding을 이용해서 button에 setOnClickListener() 를 생성했는데 해당 에러가 발생했다. java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSi..

Android 2022.02.04

[AndroidStudio] Waiting for all target devices to come online 로딩만 되고 앱 설치가 안될 때 해결 방법

이미 잘 사용 중인 Android Studio 환경에서 어느 순간부터 기존에 있는 에뮬레이터에서는 App install이 안되었다. AVD를 삭제하고 새로운 AVD를 다시 생성하면 초기에는 잘 되지만, 또 다시 Waiting for all target devices to come online... 의 로딩 끝에 설치가 안되는 문제를 마주쳤다. 아래는 이 문제에 대한 해결방법이다. 1. AVD Manager -> 문제의 AVD Wipe Data 시키기 참고: 한 번만 잘 됨... 2. 에뮬레이터 기기의 개발자 옵션에서 USB Debugging 껐다가 켜기 * 개발자 모드 되는 방법 Settings > System > About emulated device > Build number 연타 * USB Debu..

Android 2021.11.25

[AndroidStudio] A failure occurred while executing KaptExecutionWorkAction 해결 방법

A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction 이 발생했다 !! 문제 상황 Gradle JDK를 Embedded JDK로 변경 참고: https://stackoverflow.com/questions/67410992/upgrading-android-kotlin-version-to-1-5-0-throwing-error-message-on-build Upgrading Android kotlin version to 1.5.0 throwing error message on build Running with kotlin version '1.4.32' ..

Android/Kotlin 2021.09.30

[Android][JAVA] 키보드 숨기기, 화면 터치 시 키보드 숨기기

EditText를 사용하여 input 값을 받고 나서 키보드가 사라지지 않는 경우가 있다. 이 때 키보드를 얌전히 잠재울 수 있는 방법이다😀 1. AndroidManifest.xml 추가 android:windowSoftInputMode="stateAlwaysHidden" 2. InputMethodManager 사용 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editText_height.getWindowToken(), 0); editText_height 대신에 원하는 EditText의 id를 적으면 된다!

Android/JAVA 2020.08.11