Build.gradle(Project:Allo)でプロジェクトを同期すると、このエラーが表示されます
C:\ Users\hacker\AppData\Local\Android\Sdkにハッシュ文字列「Android-28」のあるターゲットが見つかりませんでした
構成:
apply plugin: 'com.google.gms.google-services'
Android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.Android.allo"
minSdkVersion 19
targetSdkVersion 28
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:28.0.0 rc2'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-core:15.0.2'
implementation 'com.google.firebase:firebase-messaging:15.0.2'
implementation 'com.Android.support:design:28.0.0 rc2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
}
Android {
compileSdkVersion 'Android-P'
defaultConfig {
targetSdkVersion 'P'
}
Android PプレビューSDKで最高の開発エクスペリエンスを得るには、最新のAndroid Studio 3.2カナリアをインストールすることをお勧めします。
次のようにAndroid P Preview SDKをインストールする必要があります。
Tools> SDK Managerをクリックします。
[SDKプラットフォーム]タブで、Android Pプレビューを選択します。
[SDKツール]タブで、Android SDK Build-Tools 28-rc2(またはそれ以上)を選択します。
[OK]をクリックしてインストールを開始します。
これら2つの依存関係を置き換える
実装 'com.Android.support:appcompat-v7:28.0.0 rc2'
実装 'com.Android.support:design:28.0.0 rc2'
これらと
実装 'com.Android.support:design:28.0.0-rc01'
実装 'com.Android.support:appcompat-v7:28.0.0-rc01'
「ハッシュ文字列 'Android-28'のターゲットを見つけられませんでした」というエラーが表示されました。上記の解決策のいずれも私の問題を解決しませんでした。
これが私の問題の原因です:
プロジェクトgradle.buildに、ユーザー定義の拡張キー値を追加しました。
ext {
Android_COMPILE_SDK_VERSION=28
}
次に、gradle.buildモジュールで、この値を次のように参照しました。
Android {
compileSdkVersion rootProject.ext.Android_COMPILE_SDK_VERSION
...
それがエラーの原因です!!この問題を修正するために私が行ったのは、次のようにコーディングすることです。
Android {
compileSdkVersion Integer.valueOf(rootProject.ext.Android_COMPILE_SDK_VERSION)
つまり、compileSdkVerionには文字列ではなく整数が必要です。 GradleスクリプトのminSdkVerion、targetSdkVersion、versionCodeについても同様です。
それが上記のポスターで発生していた問題であるかどうかはわかりませんが、そのエラーメッセージが発生する可能性のある少なくとも1つの方法です。ちなみに、サポートライブラリを使用できます28.0.0