Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在包“android”中未找到属性“parentActivityName”的资源标识符_Android_Android 4.0 Ice Cream Sandwich - Fatal编程技术网

在包“android”中未找到属性“parentActivityName”的资源标识符

在包“android”中未找到属性“parentActivityName”的资源标识符,android,android-4.0-ice-cream-sandwich,Android,Android 4.0 Ice Cream Sandwich,我试图从Android页面完成本教程,但Eclipse抛出了以下错误:在包“Android”中未找到属性“parentActivityName”的资源标识符。我已包含Android支持库 以下是整个AndroidManifest.xml代码 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myfirstapp" android:versionCode="1"

我试图从Android页面完成本教程,但Eclipse抛出了以下错误:在包“Android”中未找到属性“parentActivityName”的资源标识符。我已包含Android支持库

以下是整个AndroidManifest.xml代码

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myfirstapp"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.myfirstapp.DisplayMessageActivity"
        android:label="@string/title_activity_display_message" 
        android:parentActivityName="com.example.myfirstapp.MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
    </activity>
</application>

android:parentActivityName首先出现在android 4.1 API级别16中。您需要使用最新的4.1 SDK来编译此文件。

要添加到David Wasser的答案中,如果您使用Eclipse并安装了正确的SDK库,但仍然存在此错误,则意味着尽管安装了正确的库,但Eclipse不会将其用于此项目

要改变这一点,请转到项目的属性,在PackageExplorer中右键单击项目名称,这是最后一个选项,在左侧列中选择Android,您应该有一个名为project Build Target的列表。然后:

在此实例中,为平台4.2.2选择合适的目标Android 4.2.2或Google API

保存清单文件,必要时进行简单的编辑


保存后,Eclipse将对其进行处理,当Eclipse在其新构建目标中找到资源标识符时,这些错误将消失。

如果您没有示例应用程序用作其构建目标的SDK的确切版本,也会发生此错误。按照上面Julien描述的相同步骤,选择本地的SDK将修复它

在IntelliJ IDEA中,您需要更改平台设置->SDK->Android某物->将目标构建为4.1+


如果您没有看到该选项,则需要SDK版本4.1或更高的API级别16+。

在这种情况下,应用程序是否会在4.1以下的平台上运行?抱歉,这样做了。如果您在APK中包含4.1兼容性库并使用android:minSdkVersion=11,那么它将在API级别11及更高版本的所有设备上运行。那么为什么在使用较低的API编译时明确声明忽略未知属性?要么你的答案不正确,要么android的sdk中有一个巨大的bug,要么官方教程对支持旧sdk完全错误。还要注意,链接教程使用的是android:minSdkVersion=8,因此应该有一种方法可以让它在API<11时工作。@Bakuriu我看了链接教程。我没有看到它明确指出在使用较低的API编译时忽略未知属性的地方。根据经验,我可以告诉您,编译时不会忽略未知属性,但在具有较低API的设备上安装/运行时会忽略未知属性。@Bakuriu无论如何,链接教程在android:parentActivityName的讨论中明确指出:系统使用此值实现默认导航行为,例如Android 4.1 API级别16及更高版本上的向上导航。通过使用支持库并添加元素,您可以为旧版本的Android提供相同的导航行为,如图所示。它还讨论了API级别<16的兼容性库的使用。我认为Android手册的可能副本有点误导。如果不使用min target 16,那么当然不会编译parentActivityName属性。我认为答案应该是这样的:如果minSDK<16:添加元数据条目android.support.PARENT\u活动。如果min sdk>=16:添加属性parentActivityName。我看不出同时使用它们的理由……您需要有最新的API,以便可以针对它们构建它。确保你的目标是一个15岁以后的API。我不得不做一些微不足道的更改然后保存,这有点奇怪。我永远猜不到。无论如何,我添加了一个空间,然后删除它,然后保存。