在eclipse Android包中找不到installLocation标识符

fea*_*ean 7 android

当我试图添加

android:installLocation="auto" 
Run Code Online (Sandbox Code Playgroud)

在我的AndroidManifest.xml文件中,我在eclipse中发现了以下错误

error: No resource identifier found for attribute "installLocation" in package "android"
Run Code Online (Sandbox Code Playgroud)

如何克服这个问题?

编辑:

我的清单文件是:

<?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> 
Run Code Online (Sandbox Code Playgroud)

错误显示在行android:installLocation ="auto"

谢谢

use*_*305 15

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

Introduced in: API Level 8.
Run Code Online (Sandbox Code Playgroud)

向后兼容性

应用程序在外部存储上安装的功能仅适用于运行API Level 8(Android 2.2)或更高版本的设备.在API级别8之前构建的现有应用程序将始终安装在内部存储上,并且无法移动到外部存储(即使在具有API级别8的设备上).但是,如果您的应用程序旨在支持低于8的API级别,则可以选择为API级别为8或更高级别的设备支持此功能,并且仍然与使用低于8的API级别的设备兼容.

允许在外部存储上安装并保持与低于API级别8的版本兼容:

  1. 在元素中包含android:installLocation属性,其值为"auto"或"preferExternal".
  2. 保留你的android:minSdkVersion属性(小于"8"),并确保你的应用程序代码只使用与该级别兼容的API.
  3. 为了编译您的应用程序,请将您的构建目标更改为API级别8.这是必要的,因为较旧的Android库不了解android:installLocation属性,并且在它存在时不会编译您的应用程序.

当您的应用程序安装在API级别低于8的设备上时,将忽略android:installLocation属性,并将应用程序安装在内部存储上.

警告:虽然较旧的平台会忽略此类XML标记,但是当minSdkVersion小于"8"时,必须小心不要使用API​​ Level 8中引入的编程API,除非您执行必要的工作以提供向后兼容性你的代码.有关在应用程序代码中构建向后兼容性的信息,请参阅向后兼容性文章.