这不是一个很大的问题,因为我的项目仍然可以正确构建和运行(使用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中运行我的项目时会出现同样的问题。
答案 0 :(得分:16)
我有同样的问题。听起来你有很好的V7 jar文件编译,但你可能错过了所需的xml资源。你需要手动包含随V7包提供的'Theme.xml'。这是我为解决它而采取的措施。
查看:添加资源库 http://developer.android.com/tools/support-library/setup.html
此处提供的说明不是很清楚,因为它并没有告诉您带来任何资源。(也许是Android Studio中的错误?)
这是我做的:
..\sdk\extras\android\support\v7\appcompat\res\values
)。在某处有“themes.xml”和“themes_base.xml”。复制这两个文件。答案 1 :(得分:7)
我改变了:
classpath'com.android.tools.build:gradle:+'
为:
classpath'com.android.tools.build:gradle:2.2.3'
现在它正在运作!
答案 2 :(得分:4)
此问题已在Android Studio v0.2.7中修复。
答案 3 :(得分:4)
Filip Cvejic的回答非常有用。我的android studio版本是1.3.1,有同样的问题。它添加一行“compile'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'
}
答案 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”
的proyectin 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