找不到Android API 23平台的来源(Android Studio 2.0)

时间:2016-04-23 18:25:26

标签: android-studio android-api-levels

Android Studio无法正确地将我重定向到API源。当我点击任何函数时,它会反编译.class文件字节码,而不是从sdk / sources树访问正确的文件。 点击“下载”和“刷新”选项什么都不做。这对于实现监听器尤其烦人,因为它从文档中生成函数“没有变量”的标题(即var1,var2等)。我已将complie和目标SDK设置为23.我尝试重新安装SDK工具,从canary通道更新AS,使缓存无效但到目前为止没有任何帮助。 我切换到API 21,它工作正常。我错过了什么?

修改 我已经安装了API 23(SDK平台,工具,文档,来源),所以如果你想进行downvote,请发表评论。

修改 我的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'
}

您可以在下面找到具有相同API 23设置和相同行为的空白项目(没有第三方库)的gradle输出。

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

6 个答案:

答案 0 :(得分:188)

显然此问题已在Android Studio 2.1中修复。 在Android Studio中重新运行Android SDK Manager设置,这应该可以解决您的问题。

在Android Studio中:

Windows:文件 - >设置(ctrl + alt + s) - >外观&行为 - >系统设置 - > Android SDK。

Mac: Android Studio - >偏好(cmd +,) - >外观&行为 - >系统设置 - > Android SDK。

点击Android SDK位置右侧的修改。 单击下一步一直到向导,这样可以解决问题。

对于另一个问题,已回答here

答案 1 :(得分:41)

对于遇到相同问题的人,解决方案适用于Linux的this post和适用于Windows的同一主题here(感谢 Aamir Abro )。基本上,您必须编辑 jdk.table.xml 文件以获取您缺少的API级别。我不知道为什么,但Android 2.0和2.1 RC在<root type="composite" />中没有填充<sourcePath>。我更新了消息来源&#39;路径<root type="simple" url="file://D:/android/sdk/sources/android-23" />现在可行了。

对于Windows用户file location C:\ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

对于Linux用户file location〜/ Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

修改

有些人重置SDK位置帮助source

答案 2 :(得分:7)

正如他在评论中提到的qbeck一样,重置SDK的路径解决了我们中的一些问题。

Solution:

  

Android Studio 2.1报告:通过重置SDK解决了这个问题。

     

偏好设置 - &gt;外观&amp;行为 - &gt;系统设置 - &gt; Android的   SDK。

     

点击Android SDK位置右侧的修改。接下来,接下来,接下来   完成向导和瞧!

答案 3 :(得分:1)

在Windows 10上的Android Studio 3.2.1上遇到API级别28的相同问题。刷新不起作用。

在重新启动Android Studio后工作。

答案 4 :(得分:0)

将您的Android Studio更新为Api 23转到:

Tools > Android > SDK Manager

您可以转到SDK Tools标签或点击Launch Sdandalone SDK Manager。检查Android SDK Build-tools 23.0.2安装

<强>更新

请从您的依赖项中删除:

compile project(':volley')

并将其替换为:

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

答案 5 :(得分:0)

有时会出现2个错误,第一个错误是:“找不到平台android 28”,单击下一步,“接受一些许可协议...”。接受协议后,两个错误都会消失。