Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IDE "Cannot Resolve @style/Theme.Appcompat" when using v7 compatibility support theme

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.

like image 231
John Leehey Avatar asked Jul 25 '13 23:07

John Leehey


3 Answers

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:

  1. Update your SDK in the manager and be sure to include 'Android support repository' in extra's
  2. 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.
  3. In your project paste the files into 'values' directory
  4. do a rebuilt and that did the trick for me.
like image 83
kev Avatar answered Nov 07 '22 20:11

kev


I changed from:

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

to:

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

and now it's working!

like image 7
SUXA Avatar answered Nov 07 '22 20:11

SUXA


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/
like image 4
Yuichi Araki Avatar answered Nov 07 '22 22:11

Yuichi Araki