2012-07-30 38 views
5

Tôi không thể di chuyển ứng dụng của riêng mình sang thẻ SD.Không thể di chuyển ứng dụng sang thẻ SD

Các phần biểu hiện tương ứng của tôi như sau (Tôi cũng đang dán các quyền cần thiết).

<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" /> 

Tôi tin rằng tôi đã làm theo hướng dẫn được mô tả tại đây: http://developer.android.com/guide/topics/data/install-location.html (tính tương thích và xuất bản). Tuy nhiên, trong quá trình cài đặt (từ SDK mà còn từ Android Market), các ứng dụng sẽ được lưu vào bộ nhớ trong và tôi không thể di chuyển nó bằng cách sử dụng "Quản lý ứng dụng".

Trả lời

7

thử này ...

<?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! Tôi đặt nó vào ứng dụng, không biểu lộ! Cảm ơn! Hãy thử trong vài giờ! – bluszcz

3

Bạn cần phải bao gồm android:installLocation="auto" trong <manifest> thẻ của bạn

+1

'android: installLocation = "preferExternal" 'làm việc là tốt, mà chỉ đơn giản nói với Android để thích lưu trữ bên ngoài, ngay cả khi người dùng đã sở thích của họ thiết lập để lưu trữ nội bộ. –

0

Theo phần tương thích ngược của cài đặt ứng dụng tài liệu địa điểm,

các ứng dụng hiện tại được xây dựng trước khi API Cấp 8 sẽ luôn cài đặt trên bộ nhớ trong và không thể di chuyển sang bộ nhớ ngoài (ngay cả trên các thiết bị có API cấp 8).

Tuy nhiên, bạn vẫn có thể tận dụng tính năng vị trí cài đặt bằng cách đặt mục tiêu xây dựng của bạn thành API cấp 8 (hoặc cao hơn).

Để làm như vậy, hãy nhấp chuột phải vào dự án của bạn, sau đó chuyển đến Thuộc tính> Android. Chọn API cấp 8 (Android 2.2) hoặc cao hơn từ danh sách.

+0

từ cùng một trang: Bao gồm thuộc tính android: installLocation với giá trị "tự động" hoặc "preferExternal" trong phần tử . Để thuộc tính android: minSdkVersion của bạn là (nhỏ hơn "8") và chắc chắn rằng mã ứng dụng của bạn chỉ sử dụng các API tương thích với cấp đó. Để biên dịch ứng dụng của bạn, hãy thay đổi mục tiêu xây dựng của bạn thành API cấp 8. Điều này là cần thiết vì các thư viện Android cũ không hiểu thuộc tính android: installLocation và sẽ không biên dịch ứng dụng của bạn khi có mặt. – bluszcz

+0

Và tôi không đề cập đến việc tôi sử dụng nhật thực. – bluszcz

+0

Bạn cũng không đề cập đến việc bạn _don't_ sử dụng nhật thực, đó là phương pháp phổ biến hơn nhiều trong việc phát triển các ứng dụng Android. Tôi không bao gồm thông tin minSDK và installLocation trong câu trả lời của tôi, vì bạn đã có những thông tin đó trong XML mà bạn đã đăng. –

Các vấn đề liên quan