You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Android Studio 3.2 Canary14升级compileSdkVersion至28遇包缺失问题

解决AndroidX迁移中android-28平台包无法下载的问题

我之前在Mac上折腾AndroidX的时候也碰到过几乎一模一样的问题,给你几个亲测有效的解决方案:

方案1:刷新SDK管理器的更新索引

有时候Canary渠道的SDK索引会出现缓存失效的情况,尝试强制刷新:

  • 打开Android Studio的SDK Manager
  • 切换到SDK Update Sites标签页
  • 点击底部的Refresh按钮,等待索引刷新完成
  • 回到SDK Platforms标签页,重新勾选Android 9.0 (Pie)(对应android-28),点击Apply尝试重新下载

方案2:手动安装android-28平台包

如果自动下载一直失败,可以手动下载并放置到SDK目录:

  1. 找到你本地的SDK路径,Mac上默认是~/Library/Android/sdk/
  2. 进入platforms目录,这里存放着各个版本的SDK平台包
  3. 下载对应android-28的平台包(可从Android官方镜像或国内可靠镜像源获取),解压后将文件夹命名为android-28,放到platforms目录下
  4. 重启Android Studio,此时SDK管理器应该能识别到已安装的android-28平台

方案3:检查代理与镜像设置

如果你的网络需要代理,或者默认的Google下载源访问不畅:

  • SDK Update Sites标签页中,添加国内的SDK镜像源(比如清华大学、阿里云的Android SDK镜像)
  • 关闭不必要的代理,确保网络能够正常访问SDK下载服务器
  • 完成后再次尝试下载android-28平台

方案4:升级到最新的Canary版本

你当前使用的Android Studio 3.2 Canary 14是比较旧的预览版,存在一些已知的SDK下载bug:

  • 打开Android Studio的Check for Updates功能,升级到最新的Canary版本
  • 升级完成后,重新打开SDK管理器尝试下载android-28平台

另外,等你解决SDK平台的问题后,执行Refactor -> Refactor to AndroidX时,Studio会自动将你build.gradle中的support库依赖替换为AndroidX的对应依赖,比如将com.android.support:appcompat-v7:28.1.1替换为androidx.appcompat:appcompat:1.0.0之类的,不需要手动修改。

附上你提供的build.gradle代码:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "my.app.id"
        minSdkVersion 21
        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"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    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'
}

截图说明:

  • SDK管理器窗口显示Platform P(Android 9.0)仅部分安装,无源码包
  • Android Studio构建信息截图显示更新渠道已设置为Canary,版本为3.2 Canary 14

内容的提问来源于stack exchange,提问作者Imajou

火山引擎 最新活动