可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
This is not really a huge issue, as my project still builds and runs correctly (using gradle), but I'm having trouble getting Android Studio to recognize the application compatibility theme released in the API 18 SDK (for allowing actionbar support for android 2.1 and above).
I have the support libraries loading successfully, because code completion is possible for the ActionBar classes in java files. The issue is that Android studio shows red text errors for assignments to the Theme.AppCompat.Light in the AndroidManifest.xml.
Is there a way to enable code completion for theme resources declared in the manifest from external libraries in Android Studio?
Updated Here is my <activity>
block from my AndroidManifest:
<activity
android:name="com.example.activities.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light" >
I've also tried setting the theme in the application block:
<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" >
Again, these both work and compile OK, but appear as red text with errors in my IDE. I've also just confirmed that the same issues are occurring when running my project in eclipse.
回答1:
This problem was fixed in Android Studio v0.2.7.
- https://code.google.com/p/android/issues/detail?id=56312
- https://android-review.googlesource.com/#/c/64533/
回答2:
I had this same issue. Sounds like you have the V7 jar file compiling fine but you are probably missing the xml resource needed.You need to manually include the 'Theme.xml' provided with the V7 package. Here is what I did to fix it.
Look under:Adding libraries with resources
http://developer.android.com/tools/support-library/setup.html
The directions provided here aren't very clear because it doesn't tell you to bring any resources in. (maybe a bug in Android Studio?)
Here is what I did:
- Update your SDK in the manager and be sure to include 'Android support repository' in extra's
- Go to SDK in file explorer (Finder on mac) track down the extra's folder (
..\sdk\extras\android\support\v7\appcompat\res\values
on Windows). Somewhere in there is a "themes.xml" and "themes_base.xml'. Copy both of these files.
- In your project paste the files into 'values' directory
- do a rebuilt and that did the trick for me.
回答3:
I changed from:
classpath 'com.android.tools.build:gradle:+'
to:
classpath 'com.android.tools.build:gradle:2.2.3'
and now it's working!
回答4:
Filip Cvejic's answer is useful. My android studio version is 1.3.1, has the same issue. It works after add one line "compile 'com.android.support:appcompat-v7:23.0.0'" as following:
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'
}
回答5:
Don't add the library to the Java Build Path, add the library (as a project) in Settings>Android>Libraries>Add Library.
回答6:
Fix was simple for me on android studio.
Click help ---> Check for updates
Then actually read what the prompt says and decide whether you want a bleeding edge update or a stable update.
Once android studio restarts it should be working.
Side Note:
Everything was still red underlined for me until I rebuilt the project.
回答7:
I know i replied late, but this answer might help futures visitors.
回答8:
Problem was that my appcompact library projest has been located in different location. On importing I have to check "Copy project into workspace" thats all!
回答9:
Downgrading build:gradle
version 2.3.3 to 2.2.3 worked after struggling for hours!
classpath 'com.android.tools.build:gradle:2.2.3'
gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
回答10:
A common problem. In my case this works:
In "android-support-v7-appcompat" project:
-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
In other hand, the proyect that uses “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
回答11:
Adding compile 'com.android.support:appcompat-v7:21.0.0'
to dependencies in gradle.build (Module: app) and rebuilding the project fixed the problem for me in Android studio 1.0.2.
I also checked in SDK Manager and I did have the support libraries downloaded.
回答12:
Problem was that my appcompact library projest has been located in different location. On importing I have to check "Copy project into workspace" thats all!
JUST go to Files click on close and then click on existing project and select your android project.... Theme issue will be resolved.