使用v7兼容性支持主题时,IDE“无法解析@ style / Theme.Appcompat”

时间:2013-07-25 23:09:55

标签: android eclipse android-studio android-support-library

这不是一个很大的问题,因为我的项目仍然可以正确构建和运行(使用gradle),但我无法让Android Studio识别API 18 SDK中发布的应用程序兼容性主题(允许操作栏支持)对于Android 2.1及以上版本。)

我成功加载了支持库,因为java文件中的ActionBar类可以完成代码。问题是Android Studio在AndroidManifest.xml中为Theme.AppCompat.Light分配显示红色文本错误。

有没有办法在Android Studio中从外部库启用清单中声明的​​主题资源的代码完成?

已更新以下是我的AndroidManifest中的<activity>块:

<activity
    android:name="com.example.activities.MainActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:theme="@style/Theme.AppCompat.Light" >

我也尝试在应用程序块中设置主题:

<application
    android:allowBackup="true"
    android:icon="@drawable/main_final_ic"
    android:label="@string/app_name"
    android:logo="@drawable/main_final_enzo"
    android:theme="@style/Theme.AppCompat.Light" >

同样,这些工作和编译都正常,但在我的IDE中显示为带有错误的红色文本。我还刚刚确认在eclipse中运行我的项目时会出现同样的问题。

13 个答案:

答案 0 :(得分:16)

我有同样的问题。听起来你有很好的V7 jar文件编译,但你可能错过了所需的xml资源。你需要手动包含随V7包提供的'Theme.xml'。这是我为解决它而采取的措施。

查看:添加资源库 http://developer.android.com/tools/support-library/setup.html

此处提供的说明不是很清楚,因为它并没有告诉您带来任何资源。(也许是Android Studio中的错误?)

这是我做的:

  1. 在管理器中更新您的SDK,并确保在extra's
  2. 中包含“Android支持存储库”
  3. 转到文件资源管理器中的SDK(Mac上的Finder)跟踪额外的文件夹(Windows上的..\sdk\extras\android\support\v7\appcompat\res\values)。在某处有“themes.xml”和“themes_base.xml”。复制这两个文件。
  4. 在项目中将文件粘贴到“values”目录
  5. 做了重建,这对我有用。

答案 1 :(得分:7)

我改变了:

  

classpath'com.android.tools.build:gradle:+'

为:

  

classpath'com.android.tools.build:gradle:2.2.3'

现在它正在运作!

答案 2 :(得分:4)

答案 3 :(得分:4)

Filip Cvejic的回答非常有用。我的android studio版本是1.3.1,有同样的问题。它添加一行“compile'c​​om.android.support:appcompat-v7:23.0.0'”后如下:

   dependencies {
        compile "com.android.support:support-v4:23.0.0"
        compile "com.android.support:support-v13:23.0.0"
        compile "com.android.support:cardview-v7:23.0.0"
        compile 'com.android.support:appcompat-v7:23.0.0'
    }

答案 4 :(得分:3)

不要将库添加到Java Build Path,在设置&gt; Android&gt; Libraries&gt;添加库中添加库(作为项目)。

答案 5 :(得分:3)

在android studio上修复对我来说很简单。

点击帮助---&gt;检查更新

然后实际读取提示所说的内容,并决定是否要进行前沿更新或稳定更新。

一旦android工作室重新启动它应该正常工作。

旁注: 在我重建项目之前,一切都还是红色的下划线。

答案 6 :(得分:3)

我知道我迟到了回复,但这个答案可能会帮助期货访客。

  • 从Gradle 0.12.+更改为0.12.1,它会有效。

    classpath 'com.android.tools.build:gradle:0.12.1'
    

答案 7 :(得分:2)

问题是我的appcompat库项目位于不同的位置。在导入时,我必须检查“将项目复制到工作区”,这就是全部!

答案 8 :(得分:2)

build:gradle版本 2.3.3 降级为 2.2.3 ,经过几个小时的努力后才开始工作!

classpath 'com.android.tools.build:gradle:2.2.3'

gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

答案 9 :(得分:1)

一个常见问题。在我的情况下,这有效:

在“android-support-v7-appcompat”项目中:

-Delete “android-support-v7-appcompat” from Package explorer.
-Import again and check “Copy into workspace”
-In Properties -> Android -> in Project build target, uncheck Android 2.2 and check Android 4.1.2
-In Java build path, uncheck if you have any .jar library, and uncheck the Dependences

另一方面,使用“android-support-v7-appcompat”

的proyect
in Propiedades -> Android add the library, but uncheck "IsLibrary”.
-In Android -> Project build tarjet check Android 4.0.
-In "Java Build Path" -> Order and Export -> Unchecked the .jar library
-Finally do a “Project -> Clean” both projects 

答案 10 :(得分:1)

在gradle.build(Module:app)中向依赖项添加compile 'com.android.support:appcompat-v7:21.0.0'并重建项目在Android studio 1.0.2中为我解决了问题。

我还检查了SDK Manager,我确实已经下载了支持库。

答案 11 :(得分:1)

问题是我的appcompact库projest位于不同的位置。在导入时,我必须检查“将项目复制到工作区”,这就是全部!

JUST转到文件点击关闭,然后点击现有项目并选择你的android项目......主题问题将得到解决。

答案 12 :(得分:0)

我的修复/问题比这里的大多数人简单得多,也与众不同。

我的问题很相似,因为我有这样的错误:

resource style/ThemeOverlay.AppCompat.Dark (...) not found

奇怪的是我可以在调试模式下构建,但不能在发布模式下构建。

我的Android清单中没有错误。我的问题是我的资源文件夹中有两个style.xml文件。

简单解决方案:删除一个style.xml文件或合并它们,您应该会很好。我的两个.xml文件中的两种样式几乎完全相同。删除其中一个文件后,我可以立即以发布模式进行构建。

[%] D-是时候让眼镜碰杯,喝点啤酒了。 :D