私は今日Android Studioを3.1にアップグレードしましたが、今やAndroid Studioはほとんどのリソースのシンボルを解決できないと言っています(例えばstyles.xml
や?attr/actionBarSize
のThemeOverlay
)。これは私がこれまでエミュレータでビルドしたり実行したりするのを妨げているようには見えませんが、これらのエラーは私を緊張させています。
他の誰かがこの問題を経験しましたか?どうやって解決できますか?私はgradleの同期と自分のプロジェクトのクリーニングを試みましたが、それはまったく助けにはならないようです。
何か案は?
Android Studio 3.1をGradleバージョン4.4およびGradle Plugin 3.1.0と共に使用しています
編集:この問題はAndroid Studio 3.1.1、3.1.2、3.1.3、3.1.4およびGradle Plugin 3.1へのアップデートに影響します。 1、3.1.2、3.1.3、および3.1.4。しかし、以下の答えはまだうまくいきます。
プロジェクトを閉じて、もう一度インポートします。今日私のために働きました。
既存のAndroid Studioプロジェクトとしてプロジェクトを閉じて再度開く
このエラーは、サポートライブラリがプロジェクトと同期しなくなったために発生します。同期を取り戻すには、次の手順を実行します。
サポートライブラリのimplementation
行をコメントアウトします。私にとってそれはこのように見えます:
//implementation 'com.Android.support:appcompat-v7:27.1.1'
//implementation 'com.Android.support:recyclerview-v7:27.1.1'
//implementation 'com.Android.support.constraint:constraint-la
プロジェクトをgradleと同期します。あなたは今いくつかのエラーがあるでしょう。心配しないでください。
以前にコメントアウトしたimplementation
行のコメントを外します。
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:recyclerview-v7:27.1.1'
implementation 'com.Android.support.constraint:constraint-la
あなたのプロジェクトをもう一度gradleと同期します。
「シンボルを解決できません」というエラーはなくなりました。これは私にとって何度も異なるプロジェクトでうまくいきました。
注
プロジェクトを閉じてから既存のプロジェクトを開くのは不思議です。
なんらかの理由で、これらの属性は26のライブラリにもう見つかりません。これらのライブラリを増やすには、compileSdk
も27に増やす必要があります。おそらくsdkをダウンロードする必要があります。27
ショートバージョン、以下はアプリ「graddle」の上に行く
Android {
compileSdkVersion 27
//...
}
dependencies {
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support:design:27.1.0'
//...
}
ロングバージョン、以下のファイルをすべて確認してください。
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip
build.gradle(プロジェクト)
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
そして最後にbuild.gradle(app)
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
applicationId "cl.cutiko.testingupdate"
minSdkVersion 21
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
implementation 'com.Android.support:design:27.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
}
プロジェクトを閉じて、既存のAndroid Studioプロジェクトとして再度開き(インポートしませんでした)、うまくいきました。 Andrew Glukhoff のコメントに感謝します。
プロジェクトを閉じてAndroid Studioを終了しようとすることができます(閉じて再インポートするだけではうまくいきません)。 Android Studioを起動してプロジェクトをもう一度開きます。それは私のために働いた!
私は自分のgradleのバージョンを4.10.1に更新し、「修正して再インポート」しました。以前に.ideaの下にライブラリフォルダはありませんでした。そしてそれは働いた
問題その1
私の問題は、私がAndroidプラグインのアルファ/ベータ版を使用した方法に関連していました
File > Project Structure > Project
Android Plugin Version
を確認してください
私は3.3.0-beta
と呼ばれるものを使っていましたが、それでも別のプロジェクトでは3.1.0-alpha
を使っていました
それを3.2.0
に変更することは私の問題を解決するようです、build.gradle(Project)のものも変更することを忘れないでください
問題#2
.xmlファイルの1つにエラーがありました。 @string
リソースがありませんでした。すべてのxmlファイルをチェックし、それらがすべて正しいことを確認してください(xmlファイルを開くと、Android Studioのリンティングが有効になり、ファイルをスクロールします。何か問題がある場合は赤で表示されます)。
問題#3
build.gradle
では、Androidサポートライブラリの異なるバージョンをインポートしました。例えば.
implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:support-v4:27.1.0'
それらが同じバージョンであることを確認してください。そしてAndroid Studioがあなたのgradle
依存関係の中に何も不平を言っていないことを確かめてください。それはあなたの依存関係のいくつかがまた異なるAndroidサポートライブラリのバージョンをインポートしたということかもしれません。
#1、#2、#3の後に実行する手順
プロジェクトをクリーンアップしますBuild > Clean Project
キャッシュを無効にしてFile > Invalidate Caches / Restart
を再起動してください
再起動後、gradle buildが終了するのを待ってください。
私がcom.Android.tools.build:gradle 3.3.1
とgradle-4.10.1
にアップデートしたときに私に似たようなエラー
次の方法を試しましたが、うまくいきませんでした。
Clean Project
- Rebuild Project
Invalidate Caches / Restart
.xml
エラーをチェックしてください(xmlに関するエラーが見つかりませんでした).iml
ファイルを変更する私はcom.Android.tools.build:gradle 3.2.1
とRestart my mac
を修正することでこのエラーを修正しましたが、私はしませんでした。どれがそれを修正できるか知っています、しかしそれは本当に私のために働きます。
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support.constraint:constraint-layout:1.1.2'
implementation 'com.Android.support:design:26.1.0'
build.gradle(project)で上記の依存関係を更新してください。
以下のコードをbuild.gradle(Module:app)に入れてください。
classpath 'com.Android.tools.build:gradle:3.1.1'
classpath 'io.realm:realm-gradle-plugin:3.7.1'
classpath 'com.google.gms:google-services:3.1.0'
私にとって同じ症状/エラーは、Android Studioが好きではなかった名前の 'drawable-xxhdpi'フォルダに新しい画像をドラッグアンドドロップしたことによって引き起こされました - 例えば、名前の中の数字や大文字で。
「シンボルRを解決できません」というメッセージだけが表示され、有用なエラーメッセージは表示されませんでした。
アプリを同期し、プロジェクトをクリーニングして再構築した後でも、他のエラーが表示されずに「R」が認識されないという問題が残りました。
他の回答で提案されているようにプロジェクトを閉じてインポートしてもうまくいきませんでした。根本的な問題を考えると意味があります。
しかし、これは過去には他の人にはうまくいかなかったように見えますが、SOに関する他の質問と回答から判断して、新しいフォルダからDrawableフォルダを削除するとうまくいきました。
同様に、そしてより良い解決策は、明らかに、Androidがリソース名に嫌いな文字を削除するために画像の名前を変更してから、クリーンなプロジェクトやリビルドプロジェクトを行うことでもうまくいきました。