Sources for Android API 23 Platform not found (Android Studio 2.0)

笑着哭i 提交于 2019-11-26 12:21:24

问题


Android Studio doesn\'t redirect me to API sources correctly. When I hit any function it decompiles .class file bytecode instead of accessing the right file from sdk/sources tree. Hitting \"download\" and \"refreshing\" options does nothing. It\'s particularly annoying for implementing listeners since it generates functions\' headers without variables\' manes from documentation (i.e. var1, var2 etc.). I have set complie and target SDK to 23. I tried to reinstall SDK tools, update AS from canary channel, invalidate cache but nothing helped so far. I switched to API 21 and it works fine. What am I missing?

EDIT I have installed API 23 (SDK platform, tools, docs, sources), so please just leave a comment if you want to downvote.

EDIT My build.gradle:

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\'
}

Below you can find gradle output for a blank project (without 3rd party libs) with the same API 23 set and the same behaviour.

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

回答1:


Apparently this issue has been fixed in Android Studio 2.1. Rerun the Android SDK Manager setup in Android Studio and this should solve your issue.

In Android Studio:

Windows: File -> Settings (ctrl+alt+s) -> Appearance & Behavior -> System Settings -> Android SDK.

Mac: Android Studio -> Preferences (cmd + ,) -> Appearance & Behavior -> System Settings -> Android SDK.

Click on Edit on the right of the Android SDK location. Click Next all the way through the wizard and this should fix the problem.

This was answered here for a different question.




回答2:


For people facing the same problem, the solution is in this post for Linux and in the same topic here for Windows (thanks to Aamir Abro). Basically, you have to edit jdk.table.xml file for API level you are missing. I don't know why, but Android 2.0 and 2.1 RC don't have filled <root type="composite" /> in <sourcePath>. I updated sources' path <root type="simple" url="file://D:/android/sdk/sources/android-23" /> and now it works.

For Windows user file location: C:\Users{USER_NAME}.AndroidStudio2.0\config\options\jdk.table.xml

For Linux user file location: ~/Library/Preferences/AndroidStudioBeta/options/jdk.table.xml

Edit:

For some people resetting SDK location helped source.




回答3:


As qbeck mentioned in his comment, resetting the path to the SDK fixed the issue for some of us.

Solution:

Android Studio 2.1 reporting in: solved the issue by resetting SDK.

Preferences -> Appearance & Behavior -> System Settings -> Android SDK.

Click on Edit to the right of Android SDK location. Next, next, next to complete the wizard and voila!




回答4:


to update your Android Studio to Api 23 go to :

Tools > Android > SDK Manager,

you can go then go to SDK Tools tab or click on Launch Sdandalone SDK Manager. check Android SDK Build-tools 23.0.2 to install

Update:

please, remove from your dependencies:

compile project(':volley')

and replace it with :

compile 'com.android.volley:volley:1.0.0'



回答5:


Encountered the same problem for API level 28 on Android Studio 3.2.1 on Windows 10. Refresh did not work.

Worked after restarting Android Studio.



来源:https://stackoverflow.com/questions/36814755/sources-for-android-api-23-platform-not-found-android-studio-2-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!