我正在尝试实现谷歌几天前发布的新的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在加载,而不是资源。


当前回答

IntelliJ IDEA解决方案。

1. 运行Android SDK管理器,安装最新的SDK和Android支持库。SDK和Android支持库的版本应该是相同的!我是23岁。另一个变量会给出误差。 2. 将IDEA项目的SDK版本更改为上一步中安装的最后一个版本。(注:您可能不使用Maven)。

3.从现有源代码中添加新的模块到您的IDEA项目。

4. 添加AppCompat项目。! !应该在最后一个SDK下!(ps.在此步骤的任何地方说“是”)

5. 打开主项目模块的设置,并添加3个依赖项:

5.1. 模块依赖关系。选择android-support-v7-appcompat

5.2. 2 pc。库依赖关系。新增android-sdk\extras\android\support\v7\appcompat\libs\android-support-v4 \android-support-v7-appcompat.jar和android-support-v4\android-support-v7-appcompat.jar

总的来说是:

6. 非常重要! !添加带有@style前缀的主题(不是另一个!)

Android Studio解决方案。

1. 运行Android SDK管理器,安装最新的SDK和Android支持库。SDK和Android支持库的版本应该是相同的!我是23岁。另一个变量会给出误差。

2. 添加next到build.gradle

dependencies {
    compile 'com.android.support:appcompat-v7:23.0.1'
} 

附注:如果你是Android开发的新手,我强烈建议你现在就搬到Android Studio & Gradle -你会得到最简单的方法来管理你的Android应用程序。

其他回答

我犯了一个非常愚蠢的错误。当我每次都得到相同的错误时,我不知道哪里出了问题。然后我突然意识到,一旦我关掉了我工作空间里的所有项目,那就是所有问题开始的时间。所以只要检查你的“appcompat_v7”是否没有关闭。如果是,则双击打开项目,然后清理并重新构建项目。在我的例子中,错误已经消失了。编码快乐!

http://developer.android.com/tools/support-library/setup.html有一个bug。 在属性->Java构建路径->“项目”和“订单和导出”中,不应该有任何jar的。 删除它们,并检查“Android Private Libraries”和“Android Dependencies”解决了我的问题。

如果,像我一样,你在http://developer.android.com/training/basics/actionbar/setting-up.html上的Android教程,并不断得到这个错误,尝试改变所有样式。xml文件中的AppBaseTheme样式。详细:

In file res/values/styles.xml change the line: <style name="AppBaseTheme" parent="android:Theme.Light"> to: <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> In file res/values-v11/styles.xml change the line: <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> to: <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> In file res/values-v14/styles.xml change the line: <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar"> to: <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

现在应用程序应该可以正常运行了。

我不知道你们中有多少人注意到了。支持库“appcompat_v7”和你的项目应该在同一个目录(我的意思是工作空间目录)。不要清理你的项目,直到它没有错误,否则你会有艰难的时间与R.java

我将分享我在这个问题上的经验。我都快疯了,但我发现问题出在Eclipse本身,而不是我的代码: 在eclipse中,无法在另一个android项目中引用一个android库项目

所以,如果你在你的C:驱动器中有Android支持库,而你的项目在你电脑的D:驱动器中,Eclipse将不能正常工作,并且不会知道Android支持库在哪里(绿色的勾变成红色的叉)。要解决这个问题,您需要将两个项目移动到同一个硬盘驱动器上。