web-dev-qa-db-ja.com

ハッシュ文字列Android-23でターゲットを見つけられませんでした

Git://github.com/osmdroid/osmdroidからOpenStreetMapViewを構築しようとすると、このエラーが発生します。

failed to find target with hash string Android-23: D:\Users\myusername\AppData\Local\Android

どうすればこれを修正できますか?これに似た以前の質問は、Android 23がインストールされていないことを確認することを提案していますが、私の場合はそうです。

以下は関連情報です。

Android_HOMEはD:\Users\myusername\AppData\Local\Android\sdkです

D:\Users\myusername\AppData\Local\Android\sdk\platforms\には、ディレクトリ\ Android-23 \が含まれています(Android-19、Android-21、Android-22、Android-MNCも同様)。

build.gradle

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "org.osmdroid.example"
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 16
        versionName "4.4-SNAPSHOT"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'

    }
    lintOptions {
        abortOnError false
    }
}


dependencies {
    compile 'Android.support:compatibility-v4:23+'
    compile project(':osmdroid-Android')
    //compile 'org.osmdroid:osmdroid-third-party:4.4-SNAPSHOT'
}

TargetSdkVersionとcompileSdkVersionを22に変更してみました。これにより、エラーメッセージが "Android-23"ではなく "Android-22"に変更されます。

SDKマネージャ: enter image description here

89
Al Lelopath

私の場合、キャッシュのクリアはうまくいきませんでした。

SDKマネージャでは、「パッケージの説明を表示する」のボックスを必ずオンにしてください。それからあなたはまたあなたがインストールしても構わないと思っているバージョンのために "Google APIs"を選ぶべきです。

それをインストールすれば大丈夫なはずです

76
htafoya

Android Studioでは、File -> Invalidate Caches/Restartが問題を解決しました。

23
Mohammed Ali

この質問に対する答え。

Gradleは時々愚かになり、キャッシュを一掃することが私が見つけた唯一の解決策です。あなたはあなたのユーザのホームフォルダの下に隠された.gradleフォルダと、チェックアウトの場所がosmdroidのための別の場所にあるでしょう。

17
Al Lelopath

私は、Android SDK Managerを開き、23.x.xのすべてのバージョン用のビルドツールをインストールすることによって、問題を解決しました。

スクリーンショットを見てください。

enter image description here

14
Radmation

注:これはAndroid Studioのバグかもしれないと思います。

  1. プロジェクト構造へ
  2. アプリモジュールを選択
  3. 最初のタブの[プロパティ]で、[コンパイルSDKのバージョン]をGoogle API xxからAPI XXに変更します(たとえば、Google API 23ではなくAPI 23)。
  4. OKを押す
  5. 進行中のプロセスが完了するのを待ちます。私の場合、この時点ではエラーが発生しませんでした。

Compiled Sdk VersionをGoogle API xxに戻します。

これでうまくいかない場合は、

  1. Google API(API xxではなくGoogle API xx)を使用して、ビルドツールのバージョンを下げます(例:Google API 23およびビルドツールバージョン23.0.1)。
  2. Okを押して、進行中のプロセスの完了を待ちます
  3. ビルドツールのバージョンを変更前のバージョンに戻します
  4. Okを押します
  5. 処理が完了するのを待ちます。
  6. 完了しました。
6
Sagar Patel

これらの推奨された指示に従うことはうまくいくように思われました:

ヒント:/ path/to/Android/tools/Androidを実行してSDKマネージャを開きます。

1. Android-23用の「SDK Platform」2.「Android SDK Platform-tools」(最新)3.「Android SDK Build-tools」(最新)

3
Geremy

別の番号で同じ問題を抱えていたなら、これは私のために働きました:

  1. 上部の「Gradleプロジェクトの同期に失敗しました」というテキストに「メッセージビューを開く」と表示されているエラーメッセージをクリックします。

  2. 左下隅の「Message Gradle Sync」ウィンドウで、提供されている解決策「Install missing ...」をクリックします。

  3. 必要に応じて1と2を繰り返す

23:08 Gradleの同期に失敗しました:C:\ Users\vik\AppData\Local\Android\Sdkにハッシュ文字列 'Android-26'のターゲットが見つかりませんでした

左下隅にソリューションを提供するAndroid SDK Android SDK providing a solution in the bottom left corner

3
Viktor H

この問題には2つの解決策があります。

1)[ツール] - > [Android] - > [SDKマネージャ] - > [SDKツール](関連するAndroid SDKをダウンロードします。[パッケージの詳細を表示]をチェックします)。あなたのケースはアンドロイド6.0(マシュマロ/ APIレベル21)でしょう

2)または、build.gradleファイルを開き、以下の属性を更新します。

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

あなたがインストールしたAndroid APIの最新バージョン/あなたが使用したいと思う別のインストールされたバージョン(私はいつも最新のバージョンを使用することをお勧めしますが、いつもの理由で:バグ修正など)

手順2を実行している場合は、アプリで使用している場合はAndroidサポートライブラリのバージョンを更新することを忘れないでください。これはビルドファイルのdependenciesセクションにあり、次のようになります。

compile 'com.Android.support:appcompat-v7:27.0.2'

27.0.2をアプリで使用する予定のAPIレベルの最新のサポートライブラリバージョンに置き換えます)

2
Scott Barbour

私にとってはcompileSdkVersionを24に、targetSdkVersionを24に、そしてcompilecom.Android.support:appcompat-v7:24.1.0に変更することでうまくいきました。

2
Akshat Gupta

Android SDK Managerを開き、最新のものにアップデートします。

1

私のフォルダを調べたところ、26ではなく27のフォルダが見つかりました。したがって、build.gradleファイルを修正し、26を27に置き換えました。compileSdkVersion、targetSdkVersion、およびimplementation(これらの数字をv:7に変更しました) :27.02)。それは私のエラーメッセージを変更しました。それから、buildSolsVersion "27.0.3"をcompileSdkVersionのすぐ下のAndroidブラケットセクションに追加しました。

プロジェクト作成ボタンは0メッセージで動作します。

次に、これを実行できるように、実際に自分の設定でモジュールを選択する方法を説明します。

1
Neo42

ビルドコンソールで指定されたリンクから特定のAndroidリリースをダウンロードします。

1
KayV

私にとって問題は、私が23の代わりにcompileSdkVersion '23'を書いたことです。引用符が問題でした。

1
Ilya Konnov

ツール> Android> SDKマネージャ.

enter image description here

1
CoolMind

私は窓を使うときこの問題を抱えていた。私のプロファイルのSDKの場所が問題であることがわかりました。だから私は自分のSDKフォルダをドキュメントに移動しなければならなくて、それはうまくいった。

1
user3288482

何も私にはうまくいきませんでした。私はSDKのパスを新しいSDKの場所に変更し、SDKを再インストールしました。

1
user1035292

この問題は、実行しているコードが古いAPIレベルで作成されているために発生します。そして現在のSDKマネージャではそれらの実行をサポートしていません。それで、以下を試してください。 1. APIレベル23をサポートするSDKマネージャをインストールします。> SDKマネージャ> Android SDKの順に選択し、次にAPI 23を選択してインストールします。 2.次に、build.gradeアプリモジュールを更新して、compileSdkVersion、compile、およびその他の数値を現在サポートされているAPIレベルに変更します。

注:APIとリビジョン番号を確認して正確に変更してください。そうでなければあなたのプロジェクトは同期しません

0
Kose

私のこの問題はRun as administrator the Andorid Studioの後に解決されます

0
PurTahan

IDEがあなたがパッケージを持っていることを認識していることを確認してください。それは28をダウンロードした後でさえ私のものではなかった、それで私はそれがSDKのための選択としてFile-Project Structure-Modules-Appの下に現れていなかったことを理解した後それをアンインストールしてそれを再インストールした。

それに加えて、あなたはそれに合うようにあなたのビルドパスを変更したいかもしれません。

ちょっと関係して、私がCompileSDKのために28までずっと更新を強制したとき、最新の更新はコンパイルすることができるようであり、そしてグーグルプレイからの新しいAPI 26分の要件までではない。これは依存関係に関係していますが、あなたには影響しないかもしれません

0
Stephen J