在使用v7兼容性支持主题时,IDE“无法parsing@ style / Theme.Appcompat”
这并不是一个真正的大问题,因为我的项目仍然是构build并正确运行(使用gradle),但是我很难让Android Studio识别API 18 SDK中发布的应用程序兼容性主题(为了允许对android 2.1的actionbar支持以上)。
我有支持库加载成功,因为代码完成是可能的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中运行我的项目时,发生了同样的问题。
Android Studio v0.2.7中解决了这个问题。
我有同样的问题。 听起来像你有V7的jar文件编译好,但你可能会错过所需的xml资源。你需要手动包含V7包提供的'Theme.xml'。 这是我做的修复它。
查看下: 使用资源添加库 http://developer.android.com/tools/support-library/setup.html
这里提供的说明不是很清楚,因为它没有告诉你带来任何资源(可能是Android Studio中的一个错误?)
这是我做的:
- 在pipe理器中更新您的SDK,并确保在“extra”中包含“Android支持库”
- 在文件资源pipe理器中findSDK(在Mac上的Finder)跟踪额外的文件夹(Windows上的
..\sdk\extras\android\support\v7\appcompat\res\values
)。 在那里有一个“themes.xml”和“themes_base.xml”。复制这两个文件。 - 在您的项目中将这些文件粘贴到“值”目录中
- 做一个重build,并为我做了诡计。
我改变了:
classpath'com.android.tools.build:gradle:+'
至:
classpath'com.android.tools.build:gradle:2.2.3'
现在正在工作!
不要将库添加到Java Build Path中,在Settings> Android> Libraries> Add Library中添加库(作为项目)。
菲利普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' }
在android studio上修复对我来说很简单。
点击帮助—>检查更新
然后,实际阅读提示说什么,并决定是否要更新或稳定的更新。
一旦android studio重新启动它应该工作。
附注:在我重build项目之前,一切仍然以红色标出。
我知道我回答迟了,但这个答案可能有助于期货参观者。
-
从Gradle
0.12.+
更改为0.12.1
,它将起作用。classpath 'com.android.tools.build:gradle:0.12.1'
问题是我的appcompact图书馆项目已经位于不同的位置。 在导入时,我必须检查“复制项目到工作区”这是所有!
一个共同的问题。 在我的情况下,这工作:
在“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”
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
添加compile 'com.android.support:appcompat-v7:21.0.0'
到gradle.build(Module:app)中的依赖关系,重build项目在Android studio 1.0.2中解决了我的问题。
我也检查了SDKpipe理器,我确实有下载的支持库。
降级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