목록안드로이드 개발/오류수정 (21)
일모도원(日暮途遠) 개발자
안드로이드 앱을 실행시키는데 아래와 같은 에러가 나온다. NDK at /Users/dalnimbest/Library/Android/sdk/ndk/25.2.9519653 did not have a source.properties file build.gradle을 보면.. ndkVersion이 25.2.9519653 로 설정되어 있다. ndkVersion "25.2.9519653" 저 경로로 가보면... ndk가 여러개 있다... 근데 25.2.9519653 폴더 안에는 source.properties 라는 파일이 없다. NDK를 다운 받으면 될줄 알았다. 하지만 다운 받는 NDK버전이 더 이전꺼다. 22.1 근데.. 여기는 25.1.8937393으로 나온다.. 근데 여기서 저장을 안하고... 다시 다운받아..
Duplicate class 오류가 쏟아져 나온다. 이경우는 전부 kotlin-stdlib-1.8.20 모듈에 있는 클래스들이다. 로그를 보면 kotlin-stdlib-1.8.20모듈에 있는 일부 클래스들이 kotlin-stdlib-jdk7-1.6.21 또는 kotlin-stdlib-jdk8-1.6.21 모듈에 있는 클래스와 중복(重複)된다. (이상한게 난 프로젝트 생성할때 자바를 선택했는데도 코틀린 관련 에러가 나오네...) Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.20 (org.jetbrains.kotlin:kotlin-stdlib:1.8.20) and kotlin-stdlib..
자바 11을 설치해서 사용중인데, 새로운 프로젝트를 생성후 실행을 하니 자바 17을 지원하지 않는다고 나온다. 11을 그냥 쓰고 싶어서 방법을 알아봤다. Android Gradle plugin requires Java 17 to run. You are currently using Java 11. 에러난 위치는 app 모듈의 build.gradle의 id 'com.android.application'이지만, 여기에는 버전이 명기되어 있지 않다. 프로젝트 수준의 build.gradle파일을 보면 안드로이드 플러그인이 8.0.2가 선택(選擇)되어 있다. id 'com.android.application' version '8.0.2' apply false (버전 8부터는 자바 17이 필요하다고 한다.) 자바 1..
Java 11을 쓰고 있는데, 안드로이드 스튜디오에서 새로 프로젝트를 만들때 아래와 같은 오류를 만났다. > Could not resolve all files for configuration ':classpath'. > Could not resolve com.android.tools.build:gradle:8.0.2. Required by: project : > com.android.application:com.android.application.gradle.plugin:8.0.2 project : > com.android.library:com.android.library.gradle.plugin:8.0.2 > No matching variant of com.android.tools.build:gradl..
아주 간만에 새로운 프로젝트를 처음부터 만들어 보았는데, 쉽게 될줄 알았는데 뜻하지 않게 여러가지 에러들이 나온다. 나는 맥에서 오라클의 자바 11을 설치해둔 상태고, Android Studio Flamingo | 2022.2.1 Patch 2를 사용하고 있다. 자바 버전은 아래로 확인할수 있다. 참고로 LTS는 Long-Term Support, SE는 Standard Edition, HotSpot이란 글자가 있으면 오라클에서 만든 Java Virtual Machine (JVM)이란걸 말해준다. > java --version java 11.0.5 2019-10-15 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS) Java HotSpot(TM..
구글 플레이에 앱을 올리니 아래와 같은 워닝이 나온다. The developer of Google Mobile Ads (GMA) SDK (com.google.android.gms:play-services-ads) added the following note to SDK version 19.3.0:This version is officially deprecated, and will soon disable ad loading. Please update to a new version. See https://developers.google.com/admob/android/deprecation for more details. 내 코드를 보면 아래처럼 19.3.0을 쓰고 있다. implementation 'com...
앱의 타겟버전을 30에서 33으로 올리고 구글플레이어에 앱을 제출하니 아래와 같은 에러가 나온다. Your app targets Android 13 (API 33) or above. You must declare the use of advertising ID in Play Console. 구글플레이 콘솔의 앱 콘텐츠를 보면 광고ID에 에러표시가 있다. 광고ID의 시작을 누르면 아래처럼 물어본다. 애드몹 광고가 앱에 있어서 아래처럼 했다. manifest에 아래를 추가하고 build gradle에서 버전을 올린후 앱을 다시 제출하자.
앱의 기능중 서버에서 데이타를 받아와서 앱 내에 있는 SQLite의 내용을 업데이트 하는 기능이 있다. 디버그 모드에서는 동작이 잘되나, 릴리즈 모드에서는 저 기능이 동작하지 않는다. 삽질 끝에 build.gradle의 minifyEnabled가 true일때 저 이슈가 나온다는것을 발견했다. (minifyEnabled가 true이면 shrinkResources도 true여야 한다.) buildTypes { debug { } release { debuggable false minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } minif..