我正在尝试实现谷歌几天前发布的新的ActionBar支持库。在过去,我已经成功地实现了ActionBarSherlock没有任何问题使用相同的方法在谷歌开发人员的支持库设置页面上列出-使用关于如何包括资源的指南(这是类似于ActionBarSherlock是如何做到的)。我把这个库项目作为库加载到我自己的项目中。

我能看出图书馆的资料还不错。当,而不是在我的MainActivity.java上扩展活动,我把它改为扩展ActionBarActivity(根据谷歌的指令),没有发生错误-它正确地导入。

我甚至尝试绕过style.xml文件,添加@style/Theme.AppCompat。光直接在AndroidManifest.xml的<应用>和<活动>与android:theme="@style/ThemeAppCompat。所有的尝试都会导致同样的错误。

现在的问题是我不能让它改变主题,更不用说在不抛出错误的情况下构建了。下面是我收到的错误,后面是我更改为使用新主题的style.xml文件。

我有一定的Android应用程序工作经验,正在运行Eclipse的最新版本的支持库和SDK编译API 18 (Android 4.3)。

生成时收到的错误

获取父项的错误:没有找到匹配给定名称的资源'@style/Theme.AppCompat.Light'。styles.xml /ActBarTest/res/values line 3 Android AAPT Problem

style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
    </style>
</resources>

有什么建议吗?这从来不是ActionBarSherlock的问题。我想使用这个新的支持库。看起来像是.jar在加载,而不是资源。


当前回答

这是一个问题,可以发生在Android工作室,如果你修改项目结构模块。 在这种情况下,您可能需要再次添加依赖项。在文本编辑器中编辑build。Gradle '文件包含所需的依赖项:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

这将更新您的“{your_project_name}”。Iml '文件与lib组件:

<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />

其他回答

这是一个问题,可以发生在Android工作室,如果你修改项目结构模块。 在这种情况下,您可能需要再次添加依赖项。在文本编辑器中编辑build。Gradle '文件包含所需的依赖项:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

这将更新您的“{your_project_name}”。Iml '文件与lib组件:

<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />

在右键单击我的项目并选择关闭不相关项目后,我遇到了与OP相同的问题。

在我的例子中,我通过重新打开appcompat_v7项目并清理/重新构建两个项目来解决了这个问题。

你需要参考$ANDROID_SDK/extras/android/support/v7/appcompat

这有点晚了,但这里是我如何在AndroidStudio完成它!

右击应用程序去属性

转到依赖项,单击“+”号并选择库依赖项 选择appcompat-v7

我不确定在这个问题发布时v13支持库是否可用,但如果有人仍然在挣扎,我已经看到添加android-support-v13.jar将解决一切问题。 我是这样做的:

右键单击项目->属性 从左边的内容表中选择Java Build Path 转到图书馆选项卡 添加外部jar按钮,选择<您的sdk路径>\extras\android\support\v13\android-support-v13.jar