2012-07-30 4 views
5

내 애플리케이션을 SD 카드로 이동할 수 없습니다.앱을 SD 카드로 이동할 수 없습니다.

내 매니페스트의 해당 부분은 다음과 같습니다 (필요한 권한을 붙여 넣기도 함). http://developer.android.com/guide/topics/data/install-location.html (호환성과 pemissions) :

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<application 
    android:installLocation="preferExternal" 
    android:label="@string/app_name" > 

<uses-sdk 
    android:minSdkVersion="6" 
    android:targetSdkVersion="9" /> 

은 내가 여기에 설명 된 가이드 라인을 따라 생각합니다. 그러나 설치 중에 (SDK 에서뿐만 아니라 Android 마켓에서도) 응용 프로그램은 내부 저장소에 저장되므로 "응용 프로그램 관리"를 사용하여 이동할 수 없습니다.

답변

7

이 시도 ...

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    android:installLocation="preferExternal" 
    package="your.package.name" 
    android:versionCode="1" 
    android:versionName="1.0" > 
... 
... 
+0

OCH! 나는 이것을 적용하지 않고 명시하지 않았다. 감사! 몇 시간 후에해볼거야! – bluszcz

3

당신은, 당신의 <manifest> 태그 위치 문서를 설치 응용 프로그램의 이전 버전과의 호환성 섹션으로 당

+1

'안드로이드 :의 installLocation는 "preferExternal은"'뿐만 아니라 작동하지만 단순히 사용자가 선호 내부 저장소로 설정 한 경우에도, 외부 저장 장치를 선호하는 안드로이드를 알려줍니다 =. –

0

에 앞서 API 레벨에 내장 된

기존 응용 프로그램을 android:installLocation="auto"을 포함 할 필요가 8 항상 설치합니다 내부 저장소에 저장되며 외부 (API 레벨 8이있는 기기에서도) 저장소로 이동할 수 없습니다.

그러나 빌드 대상을 API 레벨 8 이상으로 설정하여 설치 위치 기능을 이용할 수 있습니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 속성> Android로 이동하십시오. 목록에서 API 레벨 8 (Android 2.2) 이상을 선택하십시오.

+0

같은 페이지에서 : 요소에 "auto"또는 "preferExternal"값이있는 android : installLocation 속성을 포함하십시오. android : minSdkVersion 속성을 그대로 ("8"보다 작게) 그대로두고 응용 프로그램 코드가 해당 수준과 호환되는 API 만 사용하는지 확인하십시오. 응용 프로그램을 컴파일하려면 빌드 대상을 API 레벨 8로 변경하십시오. 이전 Android 라이브러리가 android : installLocation 속성을 이해하지 못하고 응용 프로그램을 컴파일하지 않기 때문에이 작업이 필요합니다. – bluszcz

+0

그리고 나는 일식을 사용한다는 언급을하지 않았다. – bluszcz

+0

당신은 또한 안드로이드 애플리케이션을 개발하는 가장 일반적인 방법 인 eclipse를 사용하지 않는다고 언급하지 않았습니다. 당신이 이미 게시 한 XML에 이미있는 것처럼 minSDK 및 installLocation 정보를 내 대답에 포함시키지 않았습니다. –

관련 문제