마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

예전 안드로이드 소스를 안드로이드 스튜디오에...?

0 추천
예전 안드로이드 소스를 안드로이드 스튜디오에 Import를 하니까 아래와 같이 나오는데 어떻게 하면 되나요?

 

Error:Execution failed for task ':app:processDebugManifest'.

> Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 14 declared in library [com.google.android.gms:play-services:11.0.4] C:\Users\moon\.android\build-cache\e3191f6cea253c9698b896be09b7dc5a4f189366\output\AndroidManifest.xml

Suggestion: use tools:overrideLibrary="com.google.android.gms.play_services" to force usage
헨씀히포 (3,660 포인트) 님이 2017년 8월 31일 질문

1개의 답변

0 추천
build.gradle(Module) 에서 minSdkVersion 8 을 14로 바꿔주면 될 것 같습니다.
minor (13,710 포인트) 님이 2017년 8월 31일 답변
변경을 했는데 똑같은 에러가 납니다

흐흐흐흐 어떻게 해야하나요?
[File] - [Invalidate Caches / Restart ...] 하셔도 동일한 현상이 생기나요
manifests.xml 에
<application
    tools:overrideLibrary="com.google.android.gms.play_services"
</application>
을 추가하라는 추천 메세지가 있기는 하네요
위와 같이 해도 에러가 납니다
Error:요소 유형 "application" 다음에는 속성 사양 ">" 또는 "/>"가 와야 합니다.
Error:Exception while parsing the supplied manifest file C:\Users\moon\AndroidStudioProjects\MyApplication\bDPOS\src\main\AndroidManifest.xml
> 요소 유형 "application" 다음에는 속성 사양 ">" 또는 "/>"가 와야 합니다.


그리고 아래와 같이 해도 에러가 납니다
    <uses-sdk android:minSdkVersion="14"
        tools:overrideLibrary="com.google.android.gms.play_services"
        />

Error:요소 유형 "uses-sdk"과(와) 연관된 "tools:overrideLibrary" 속성의 "tools" 접두어가 바인드되지 않았습니다.
Error:Exception while parsing the supplied manifest file C:\Users\moon\AndroidStudioProjects\MyApplication\bDPOS\src\main\AndroidManifest.xml
> 요소 유형 "uses-sdk"과(와) 연관된 "tools:overrideLibrary" 속성의 "tools" 접두어가 바인드되지 않았습니다.

뭘 잘못했나요?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="해당하는 패키지명">

<uses-sdk android:minSdkVersion="14"/> 이 표현은 Deprecated 되었습니다. 삭제하시는게 좋아보입니다.

<application
    기존에 생성되어있던 영역에 붙여넣으시면 됩니다
    tools:overrideLibrary="com.google.android.gms.play_services">
</application>


안드로이드 스튜디오 왼쪽에 보시면 Project 영역에서 [Gradle Script]-[build.gradle(Module)]에서
android {
    defaultConfig {
        이것 역시도 기존에 생성되어있는 영역이 있을겁니다.
        minSdkVersion 14
    }
}

로 설정하셔야 합니다.
정말 죄송합니다 알려주신대로 했는데 똑같은 에러가 납니다
Gradle Script]-[build.gradle(Module)] 여기에서
minSdkVersion 14 이렇게 했습니다

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.bdpos.bdpos"
      android:versionCode="65" android:versionName="2.46.0">
        />

    <application android:icon="@drawable/icon_" android:label="TEST APP">
        <activity
            android:name=".POSTEST_00002668Activity"
            android:configChanges="orientation|keyboard"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar"
            android:clearTaskOnLaunch="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


       

        tools:overrideLibrary="com.google.android.gms.play_services">

    </application>

    <uses-feature android:name="android.hardware.camera" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
       <!-- C2DM  -->
    <permission android:name="com.bdpos.bdpos.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.bdpos.bdpos.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="com.google.android.c2dm.permission.SEND" />
    
</manifest>


tools:overrideLibrary="com.google.android.gms.play_services">

이걸 붙이면 또 다른 에러가 납니다
미치겠습니다
이클립스 프로젝트를 안스로 컨버팅하신거군요.
오토컨버팅시 gcm.jar 파일이 존재함에도 구글 플레이 서비스를 새로 컴파일 하더군요.
해당 구글 플레이 서비스를 그래들 컴파일에서 제거하시고 디펜던시에 gcm.jar 파일을 추가하세요
그래들소스를 아래와 같이 주석으로 했습니다
dependencies {
    compile 'com.android.support:support-v4:18.+'
    /*compile 'com.google.android.gms:play-services:+'*/
    compile files('libs/core.jar')
    /*compile files('libs/gcm-server.jar')*/
}

디펜던시에 gcm.jar 파일을 추가를 어떻게 해야하나요?
gcm.jar파일은 C:\Users\moon\AppData\Local\Android\sdk\extras\google\gcm\gcm-client\dist
여기에 있더군요
lib폴더에 넣으시고 안스의 프로젝트 스트럭쳐의  모듈에서 디펜던시 추가하세요
정말 고맙습니다
다음에 또 물어보겠습니다
...