为什么我不能在清单文件中使用属性installLocation?

san*_*one 3 android intellij-idea android-manifest android-sdcard

只是一个简单的XMl文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example"
      android:versionCode="1"
      android:versionName="1.0"
      android:installLocation="auto"
        >
    <application android:label="@string/app_name">
        <activity android:name=".MyActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

然而,我收到一个错误

"在'android'包中找不到属性'installLocation'的资源标识符"

为什么会这样?

编辑

这似乎是IntelliJ的一个问题.至少是我的.这是项目结构的屏幕.我点击了Android 2.3.3 SDK并更改了其构建目标.我在属性之后做了这个

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8"/>
Run Code Online (Sandbox Code Playgroud)

没有做到这一点.有任何想法吗?

在此输入图像描述

Cri*_*ian 6

您必须指定android:minSdkVersionandroid:targetSdkVersion使用,至少,API 8例如编译APK:

....
   <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="8" />
</manifest>
Run Code Online (Sandbox Code Playgroud)

这将使用API​​编译APK.运行Froyo或更高版本的手机将能够使用该功能.Eclair和旧版本不会(在这种情况下,只有Eclair).

发生错误的原因是您尝试使用API​​ 7或更早版本编译项目,并installLocation在API 8上添加.

在此输入图像描述