Sumber untuk Android API 23 Platform tidak ditemukan (Android Studio 2.0)

99

Android Studio tidak mengarahkan saya ke sumber API dengan benar. Ketika saya menekan fungsi apa pun, ia mendekompilasi file bytecode .class alih-alih mengakses file yang benar dari sdk / source tree. Menekan opsi "unduh" dan "menyegarkan" tidak akan menghasilkan apa-apa. Ini sangat menjengkelkan untuk mengimplementasikan pendengar karena menghasilkan fungsi 'header tanpa variabel' surai dari dokumentasi (yaitu var1, var2 dll.). Saya telah menginstal API 23 (platform SDK, alat, dokumen, sumber). Saya telah menetapkan kompilasi dan target SDK ke 23. Saya mencoba menginstal ulang alat SDK, memperbarui AS dari saluran canary, cache tidak valid, tetapi sejauh ini tidak ada yang membantu. Saya beralih ke API 21 dan berfungsi dengan baik.

Apa yang saya lewatkan?

Build.gradle saya:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "com.myapp.app"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:design:23.3.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile project(':volley')
    compile 'com.jakewharton:butterknife:7.0.1'
}

Di bawah ini Anda dapat menemukan keluaran gradle untuk proyek kosong (tanpa libs pihak ketiga) dengan set API 23 yang sama dan perilaku yang sama.

Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]

Configuration on demand is an incubating feature.
Incremental java compilation is an incubating feature.
:clean
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2330Library
:app:prepareComAndroidSupportAppcompatV72330Library
:app:prepareComAndroidSupportDesign2330Library
:app:prepareComAndroidSupportRecyclerviewV72330Library
:app:prepareComAndroidSupportSupportV42330Library
:app:prepareComAndroidSupportSupportVectorDrawable2330Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:mergeDebugShaders
:app:compileDebugShaders
:app:generateDebugAssets
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:preDebugAndroidTestBuild UP-TO-DATE
:app:prepareDebugAndroidTestDependencies
:app:compileDebugAndroidTestAidl
:app:processDebugAndroidTestManifest
:app:compileDebugAndroidTestRenderscript
:app:generateDebugAndroidTestBuildConfig
:app:mergeDebugAndroidTestShaders
:app:compileDebugAndroidTestShaders
:app:generateDebugAndroidTestAssets
:app:mergeDebugAndroidTestAssets
:app:generateDebugAndroidTestResValues UP-TO-DATE
:app:generateDebugAndroidTestResources
:app:mergeDebugAndroidTestResources
:app:processDebugAndroidTestResources
:app:generateDebugAndroidTestSources
:app:mockableAndroidJar
:app:preDebugUnitTestBuild UP-TO-DATE
:app:prepareDebugUnitTestDependencies

BUILD SUCCESSFUL
Luke
sumber
tolong tunjukkan file gradle Anda
Mounir Elfassi
Saya melampirkan build.gradle saya. Terima kasih atas tanggapannya
Lukas
apakah Anda menggunakannya di Linux?
Aamir Abro
Saya menghadapi masalah yang sama
Aamir Abro
2
ini menyelesaikannya untuk saya stackoverflow.com/a/26352763/1308530
Aamir Abro

Jawaban:

211

Tampaknya masalah ini telah diperbaiki di Android Studio 2.1. Jalankan kembali pengaturan Android SDK Manager di Android Studio dan ini akan menyelesaikan masalah Anda.

Di Android Studio:

Windows: File -> Pengaturan (ctrl + alt + s) -> Penampilan & Perilaku -> Pengaturan Sistem -> SDK Android.

Mac: Android Studio -> Preferensi (cmd +,) -> Penampilan & Perilaku -> Pengaturan Sistem -> SDK Android.

Klik Edit di sebelah kanan lokasi Android SDK. Klik Berikutnya sepanjang wizard dan ini seharusnya memperbaiki masalah.

Ini telah dijawab di sini untuk pertanyaan yang berbeda.

Miguel Lavigne
sumber
3
Mulai ulang untuk menayangkannya.
Kai Wang
1
Cemerlang! Anda adalah seorang juara. Mengimport ulang memperbaiki masalah saya.
Robert Massaioli
2
Maukah kamu menikah denganku?
Andrea Baccega
2
Adakah yang mendapatkan ini untuk bekerja dengan Android Studio 2.3.3 dan API 26? Masalahnya sama persis dalam skenario ini, tetapi mengikuti petunjuk ini dan memulai ulang tidak membantu.
jwBurnside
Masih relevan untuk AS 3.1.3. Terima kasih!
Andrey Rankov
47

Untuk orang-orang yang menghadapi masalah yang sama, solusinya ada di posting ini untuk Linux dan dalam topik yang sama di sini untuk Windows (terima kasih kepada Aamir Abro ). Pada dasarnya, Anda harus mengedit file jdk.table.xml untuk level API yang hilang. Aku tidak tahu mengapa, tapi Android 2.0 dan 2.1 RC tidak telah mengisi <root type="composite" />di <sourcePath>. Saya memperbarui jalur sumber <root type="simple" url="file://D:/android/sdk/sources/android-23" />dan sekarang berfungsi.

Untuk lokasi file pengguna Windows : C: \ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Untuk lokasi file pengguna Linux : ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Edit:

Untuk beberapa orang mengatur ulang lokasi SDK membantu sumber .

Luke
sumber
Saya mencoba, tetapi ini tidak berhasil di Android Studio 2.1, Ubuntu 16.04
L. Swifter
14
Seseorang di sini menulis bahwa menyetel ulang lokasi SDK membantu. Anda juga dapat mencoba menginstal ulang sumber API di SDK manager dan memastikan jdk.table.xml memiliki entri ke jalur yang benar untuk level API yang Anda gunakan.
Lukas
2
Mengatur ulang lokasi SDK sangat membantu, bahkan saya tidak mengubah jdk.table.xml.
L. Swifter
1
untuk Mac Pengguna sama: ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml
evan
8

Seperti yang disebutkan qbeck dalam komentarnya, menyetel ulang jalur ke SDK memperbaiki masalah bagi sebagian dari kita.

Larutan:

Pelaporan Android Studio 2.1 dalam: memecahkan masalah dengan menyetel ulang SDK.

Preferensi -> Penampilan & Perilaku -> Pengaturan Sistem -> SDK Android.

Klik Edit di sebelah kanan lokasi Android SDK. Selanjutnya, selanjutnya, selesaikan wizard dan voila!

vman
sumber
1
Ini memperbaiki masalah di Android studio 2.3 w / SDK 25
Jon
di Linux:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh
3

Mengalami masalah yang sama untuk API level 28 di Android Studio 3.2.1 pada Windows 10. Refresh tidak berfungsi.

Berfungsi setelah memulai ulang Android Studio.

Matt
sumber
1

untuk memperbarui Android Studio Anda ke Api 23, buka:

Tools > Android > SDK Manager,

Anda dapat pergi ke SDK Toolstab atau klik Launch Sdandalone SDK Manager. periksa Android SDK Build-tools 23.0.2untuk menginstal

Memperbarui:

tolong, hapus dari ketergantungan Anda:

compile project(':volley')

dan ganti dengan:

compile 'com.android.volley:volley:1.0.0'
Mounir Elfassi
sumber
1
Saya sudah menginstal API 23 (platform SDK, alat, dokumen, sumber). Sebenarnya saya mencoba menginstal ulang semuanya, tetapi tidak membantu.
Lukas
ok, saya pikir masalahnya terkait dengan perpustakaan voli .. silakan periksa Jawaban saya yang diperbarui
Mounir Elfassi
Tetap tidak ada. Saya bahkan menyiapkan proyek baru tanpa eksternal apa pun dan itu masih sama. Sepertinya lebih banyak masalah terkait Android Studio.
Luke
mmm, silakan bersihkan proyek Anda => bangun kembali dan periksa konsol gradle di kanan bawah studio android .. perbarui pertanyaan Anda dengan log yang Anda lihat
Mounir Elfassi
Saya melampirkan keluaran dari gradle untuk proyek (kosong) lain, di mana hal yang sama terjadi. Saya menghargai bantuan Anda.
Lukas
0

Terkadang akan ada 2 kesalahan, yang pertama akan mengatakan: 'platform android 28 tidak ditemukan', klik berikutnya, 'terima beberapa perjanjian lisensi ...'. Setelah Anda menerima perjanjian, kedua kesalahan tersebut akan hilang.

Krishna
sumber