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目录:
- 找到你本地的SDK路径,Mac上默认是
~/Library/Android/sdk/ - 进入
platforms目录,这里存放着各个版本的SDK平台包 - 下载对应android-28的平台包(可从Android官方镜像或国内可靠镜像源获取),解压后将文件夹命名为
android-28,放到platforms目录下 - 重启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




