2011-10-13 47 views
7

khi tôi cố gắng thêminstallLocation định không tìm thấy trong nhật thực Android gói

android:installLocation="auto" 

trong file AndroidManifest.xml của tôi, tôi tìm thấy những lỗi sau đây trong nhật thực

error: No resource identifier found for attribute "installLocation" in package "android" 

làm thế nào để khắc phục vấn đề này?

chỉnh sửa:

tập tin Manifest của tôi là:

<?xml version="1.0" encoding="utf-8"?> 
<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:installLocation="auto" 
    android:versionCode="1" 
    android:versionName="1.0" 
    package="com.xxxx.yyyy"> 

     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

    <application 
     android:label="@string/app_name" android:icon="@drawable/icon"> 

    <activity 
     android:screenOrientation="portrait" 
     android:name=".StarterActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action 
       android:name="android.intent.action.MAIN" /> 
      <category 
       android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
    android:screenOrientation="portrait" 
     android:name="GamePlayActivity"></activity> 

       <activity 
    android:screenOrientation="portrait" 
     android:name="LoginActivity"></activity> 

       <activity 
    android:screenOrientation="portrait" 
     android:name="SignupActivity"></activity> 

    <activity 
    android:screenOrientation="portrait" 
     android:name="MainMenuActivity"></activity> 
    <activity 
    android:screenOrientation="portrait" 
     android:name="InfoActivity"></activity> 

    <activity 
    android:screenOrientation="portrait" 
     android:name="ViewScoreActivity"></activity>  



    <activity 
    android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation"></activity> 

    </application> 
    <uses-sdk 
     android:minSdkVersion="7" 
    /> 


</manifest> 

lỗi được hiển thị trong dòng android: installLocation = "auto"

Cảm ơn

+0

minSDKVersion của ứng dụng của bạn là gì? – user370305

+0

Tôi đã thêm tệp kê khai @ user370305 – fean

+0

minSdkVersion = "7" – fean

Trả lời

15
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      android:installLocation=["auto" | "internalOnly" | "preferExternal"] > 
    . . . 
</manifest> 

Introduced in: API Level 8. 

Compatibility Backward

Khả năng ứng dụng của bạn cài đặt trên bộ nhớ ngoài là tính năng chỉ khả dụng trên các thiết bị chạy API cấp 8 (Android 2.2) trở lên. Các ứng dụng hiện có được xây dựng trước API cấp 8 sẽ luôn cài đặt trên bộ nhớ trong và không thể chuyển sang bộ nhớ ngoài (ngay cả trên các thiết bị có API cấp 8). Tuy nhiên, nếu ứng dụng của bạn được thiết kế để hỗ trợ Cấp API thấp hơn 8, bạn có thể chọn hỗ trợ tính năng này cho các thiết bị có API cấp 8 trở lên và vẫn tương thích với các thiết bị sử dụng Cấp API thấp hơn 8.

Để cho phép cài đặt trên bộ nhớ ngoài và vẫn tương thích với các phiên bản thấp hơn API Cấp 8:

  1. Bao gồm thuộc tính android: installLocation có giá trị "tự động" hoặc "preferExternal" trong phần tử.
  2. Để thuộc tính android: minSdkVersion của bạn dưới dạng (cái gì đó 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 đó.
  3. Để biên dịch ứng dụng, hãy thay đổi mục tiêu xây dựng của bạn thành Cấp API 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.

Khi ứng dụng của bạn được cài đặt trên thiết bị có cấp API thấp hơn 8, thuộc tính android: installLocation được bỏ qua và ứng dụng được cài đặt trên bộ nhớ trong.

Thận trọng: Mặc dù đánh dấu XML như thế này sẽ bị bỏ qua bởi các nền tảng cũ, bạn phải cẩn thận không sử dụng lập trình API được giới thiệu trong API Cấp 8 trong khi minSdkVersion của bạn là ít hơn "8", trừ khi bạn thực hiện công việc cần thiết để cung cấp khả năng tương thích ngược trong mã của bạn. Để biết thông tin về cách xây dựng tính tương thích ngược trong mã ứng dụng của bạn, hãy xem Backward Compatibility article.

+0

Cảm ơn, nó hoạt động tốt ngay bây giờ – fean

2

==> đi thiết lập dự án thực -> phần "Android" và chọn ít nhất API Cấp 8 có.

được tham chiếu bởi người dùng "user370305" làm nhận xét: thay đổi phiên bản api của ứng dụng từ các thuộc tính tạo thành 8 hoặc cao hơn. sau đó công việc của nó tốt. Nhìn vào câu trả lời đã chỉnh sửa của tôi. - user370305 Oct 13 '11 at 8:06

thx & & chúc may mắn! : =)

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