Android Studio 를 사용하면서 Gradle 관련 오류가 발생하는 부분을 정리한 자료들이다.
추후 이 기록외에도 설정 문제가 발생하여 해결하게 되면 이 포스트를 갱신해서 작성할 예정이다.
출처: http://androidhuman.tistory.com/531
오래간만에 Android Studio 를 사용하다 자주 겪게 되는 오류 메시지의 대처법에 대해
간단히 다루어 보겠습니다.
먼저, 가장 빈번하게 겪게 되는 오류입니다. 보통 다음과 유사한 메시지가 표시됩니다.
오전 11:31:31 Failed to refresh Gradle project 'ImmersiveMode'
The project is using an unsupported version of the Android Gradle plug-in (0.8.3).
Version 0.9.0 introduced incompatible changes in the build language.
Please read the migration guide to learn how to update your project.
Open migration guide, fix plug-in version and re-import project
이 문제는 빌드스크립트(build.gradle)에서 사용하는 안드로이드 Gradle 플러그인의 버전이 더 이상
호환되지 않아 생기는 문제이며, 대부분 빌드스크립트 내에 정의 된 플러그인 버전을 최신 버전으로 수정하면 해결됩니다.
아래 빌드스크립트에서 빨간 부분으로 표시된 부분이 빌드스크립트에서 사용할 플러그인 버전을
의미하며, 아래에서는 0.9 버전대를 사용하도록 설정하여 프로젝트 오류를 해결하였습니다.
(이 글 작성 당시 플러그인의 최신 버전)
[build.gradle]
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
다음으로 발생하는 오류는 Gradle 버전이 맞지 않아 발생하는 오류입니다.
안드로이드 스튜디오 업데이트에 맞춰 사용하는 Gradle버전도 바뀌어 발생하는 문제인데요.
보통 다음과 같은 에러 메시지가 표시됩니다.
오전 11:28:15 Failed to refresh Gradle project 'ImmersiveMode'
The project is using an unsupported version of Gradle. Please use version 1.10.
Please point to a supported Gradle version in the project's Gradle settings or in the project's Gradle wrapper (if applicable.)
Fix Gradle wrapper and re-import project Gradle settings
이럴 때에는 프로젝트 경로/gradle/wrapper/gradle-wrapper.properties 파일을 열어 맨 아래 distributionsUrl의 맨 뒤 버전을 변경해주면 됩니다. (gradle-1.10-bin.zip → 1.10을 원하는 버전으로 변경)
[ProjectDir]/gradle/wrapper/gradle-wrapper.properties
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-bin.zip
출처: http://creon.tistory.com/452
"Android Studio Gradle Sync Fail" 에러 해결방법
아래와 같은 에러가 발생한다면...
Gradle 'ProjectName' project refresh failed: |
아래와 같이 해보길 바란다.
"File → Setting → Compiler" additional build process VM options: -Xms256m -Xmx512m
VM Options : -XX:MaxHeapSize=256m -Xmx256m |
다른 PC의 안드로이드 스튜디오에서의 APK 설치 에러
개발작업을 하다보면 개발하던 소스코드를 다른 PC에서 작업해야 할 일이 생기는 경우가
많습니다. 제 경우에는 집과 작업실을 왔다갔다하며 작업을 하기 때문에 그런 경우가 더 많이 발생을 하는군요.
두대의 PC가 모두 같은 개발용 키스토어를 사용하고 있는 경우라면 상관 없겠지만, 다른 경우에는 안드로이드 스튜디오에서 해당 소스코드를 빌드해서 배포(설치)하려고 하면, 인증서가 달라서
단말기에 설치된 앱을 삭제하고 재설치 한다는 경고가 뜨게 됩니다.
그런데 잘 되면 다행이지만 가끔씩 이 과정이 꼬이는 일이 발생을 합니다.
그런 경우에 맞닥뜨리게 되는 에러메시지가,
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/패키지명"
pkg: /data/local/tmp/패키지명
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
또는
DEVICE SHELL COMMAND: pm uninstall -r 패키지명
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/패키지명"
pkg: /data/local/tmp/패키지명
Failure [INSTALL_FAILED_INTERNAL_ERROR]
입니다.
이 에러가 한번 발생하면, 계속 아래와 같은 에러메시지가 반복되면서 배포가 불가능해 집니다.
해결 방법은 구글을 검색해 보니 다양한 방법이 나옵니다.
요지는 단말기에 설치되어 있는 해당 앱의 키스토어와 현재 PC의 키스토어가 달라서 생기는 문제인데, 정상적이라면 기존앱을 삭제하고 새로 설치 할 수 있어야 하지만 꼬이게 되면 삭제가 안됩니다.
이래저래 해도 안되면 최종 방법이 앱을 단말기에서 수동으로 삭제하면 되는 것인데,
문제는 안드로이드 스튜디오에서 (사실상 adb 에서) 삭제를 시도하다가 꼬이면, 단말기 런처상에서는 이미 아이콘이 삭제되어 단말기상에서 앱의 언인스톨이 불가능한 사태가 벌어지는 경우가
있다는 거죠.
구글 검색을 해보면, 앱과 데이터가 모두 삭제가 되어야 하는데 앱만 삭제되고
데이터는 남아버리는 경우 이럴 수 있다고 하는것 같습니다.
해결 방법은 직접 터미널에서 adb로 언인스톨 명령을 내리면 된다고 하는데, 실제로 해보면
권한 에러가 납니다. 즉, 그 방법은 단말기가 루팅이 되어 있지 않으면 사용할 수 없는 방법입니다.
최후의 방법은 단말기를 공장 초기화 하는 것이라는데, 실 사용도 겸하는 단말기를 공장 초기화
하면 일이 커지죠.
상황에 따라 다를 수 있지만, 제 경우는 이래저래 시도하다 우연히 아래와 같이 하니 해결이 되었습니다.
(이 경우 상황에 여러가지이므로 이 방법이 꼭 성공한다는 보장은 없습니다. 다만, 이런 저런 방법 다 써보고 남은 방법이 단말기 공장 초기화 밖에 안남은 경우에 한번 시도해 보는 것은 어떨까요?)
먼저, '안드로이드 파일 전송'을 실행합니다.
내부 저장소에서 'data' 폴더를 엽니다.
'build' 폴더를 엽니다.
위와 같이 알 수 없는 문자들로 된 폴더들이 나타납니다.
이 폴더들을 삭제 합니다.
삭제 하고 안드로이드 스튜디오에서 다시 실행-배포를 시도해 봅니다.
위 화면과 같이 정상적으로 설치가 되는 것을 볼 수 있습니다.
제 경우 몇번 이런 경우가 있었습니다만, 위 방법으로 해결이 되었습니다.
하지만, 다양한 경우가 있을 수 있으므로 이 방법이 꼭 성공한다고 보장은 못합니다.
시도해 볼수 있는 여러 방법중 하나라고 생각이 됩니다.
(C) 2015 WingsNote.com, 저작권을 꼭 지켜 주시길 바래요.
출처: http://lsit81.tistory.com/entry/Attribute-applicationicon-value-오류-대처
기존에는 useoldmanifestmerger true 를 추가해서 처리 했지만..
안드로이드 스튜디오 정식 버전이 나오면서 useoldmanifestmerger를 찾을 수가 없다는 에러가 발생한다.
따라서 다른 방식으로 처리를 해야 한다.
AndroidManifest.xml파일을 열어서 다음과 같이 프로퍼티를 추가한다.
manifest 프로퍼티 추가
xmlns:tools="http://schemas.android.com/tools"
application에 프로퍼티 추가
tools:replace="theme, icon, label"
위에 있는 두분을 수정하면 이런 형식으로 나오게 된다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="homework.sample.app" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
tools:replace="theme, icon, label">
</application>
</manifest>
@출처 : http://azeke.tistory.com/entry/Gradle-Attribute-applicationicon-value-%EC%97%90%EB%9F%AC-%EB%B0%9C%EC%83%9D%EC%8B%9C-%EB%8C%80%EC%B2%98
'IT_Programming > Android_Java' 카테고리의 다른 글
[펌] 개발자를 위한 안드로이드 5.0 롤리팝의 중요 변경사항 정리 (0) | 2015.03.19 |
---|---|
안드로이드 프로가드 설정 기본 포맷! (0) | 2015.03.18 |
[펌] WindowManager의 OnTouch Event 처리하기 (0) | 2015.03.10 |
[ Android ] 디바이스 및 킷캣(Kitkat) 업데이트에 따른 갤러리 경로 호출 문제 (0) | 2015.02.25 |
안드로이드 어플리케이션이 회전될 때 주의해야할 점 (0) | 2015.02.10 |