41

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

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

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

更新这里是我<activity>的 AndroidManifest 中的块:

<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 中运行我的项目时发生了同样的问题。

4

13 回答 13

16

我有同样的问题。听起来您的 V7 jar 文件编译得很好,但您可能缺少所需的 xml 资源。您需要手动包含随 V7 包提供的“Theme.xml”。这是我为修复它所做的。

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

此处提供的说明不是很清楚,因为它没有告诉您引入任何资源。(可能是 Android Studio 中的错误?)

这是我所做的:

  1. 在管理器中更新您的 SDK,并确保在 extra 中包含“Android 支持存储库”
  2. 转到文件资源管理器中的 SDK(Mac 上的 Finder)跟踪额外的文件夹(..\sdk\extras\android\support\v7\appcompat\res\values在 Windows 上)。某处有一个“themes.xml”和“themes_base.xml”。复制这两个文件。
  3. 在您的项目中将文件粘贴到“值”目录中
  4. 进行重建,这对我有用。
于 2013-07-26T15:16:28.020 回答
7

我从:

类路径 'com.android.tools.build:gradle:+'

至:

类路径'com.android.tools.build:gradle:2.2.3'

现在它开始工作了!

于 2016-12-10T14:47:01.770 回答
4

此问题已在 Android Studio v0.2.7 中修复。

于 2013-09-06T04:16:25.757 回答
4

Filip Cvejic 的回答很有用。我的 android studio 版本是 1.3.1,有同样的问题。它在添加一行“编译'com.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'
    }
于 2015-08-20T06:28:33.867 回答
3

我知道我回复晚了,但这个答案可能会对未来的访客有所帮助。

  • 从 Gradle 更改0.12.+0.12.1,它将起作用。

    classpath 'com.android.tools.build:gradle:0.12.1'
    
于 2014-08-09T16:54:49.767 回答
3

不要将库添加到 Java Build Path,在 Settings>Android>Libraries>Add Library 中添加库(作为项目)。

于 2013-07-30T16:17:54.857 回答
3

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

点击帮助--->检查更新

然后实际阅读提示内容并决定您是想要最新的更新还是稳定的更新。

一旦android studio重新启动它应该可以工作。

旁注:在我重建项目之前,所有内容对我来说仍然是红色下划线。

于 2014-04-18T16:39:48.837 回答
2

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

于 2013-11-06T18:08:28.283 回答
2

经过几个小时的努力,将2.3.3build:gradle 版本 降级 到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
于 2017-08-14T07:27:54.717 回答
1

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

我还签入了 SDK Manager,并且确实下载了支持库。

于 2015-02-15T15:19:42.353 回答
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”的项目</p>

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 
于 2013-11-19T18:34:56.380 回答
1

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

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

于 2018-05-15T15:04:25.947 回答
0

我的修复/问题比这里的大多数人更简单和不同。

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

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

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

我的 Android 清单不包含任何错误。我的问题是我的资源文件夹中有两个 style.xml 文件。

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

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

于 2019-02-07T23:48:40.067 回答