我找到了一个可行的解决方案,但在此之前有一点历史。我所做的是尝试让我的应用程序有不同的变体,每个变体都有自己的compileSdkVersion
这些是我的 build.gradle 中的 sn-ps
第一次尝试 (compileSdkVersion 是特定于变体的):让您在 API 级别安装应用 >= 仅限 ANDROID-N
//compileSdkVersion 'android-N'
buildToolsVersion '24.0.0 rc1'
productFlavors {
dev {
compileSdkVersion 23
targetSdkVersion 23
}
experimental {
compileSdkVersion 'android-N'
minSdkVersion 'N'
targetSdkVersion 'N'
}
}
第二次尝试 (compileSdkVersion 仍然是特定于变体,但我删除了experimental 变体):让您在 API 级别上安装应用程序
//compileSdkVersion 'android-N'
buildToolsVersion '24.0.0 rc1'
productFlavors {
dev {
compileSdkVersion 23
targetSdkVersion 23
}
/*
experimental {
compileSdkVersion 'android-N'
minSdkVersion 'N'
targetSdkVersion 'N'
}
*/
}
第三次尝试 (compileSdkVersion 仍然是特定于变体的,但experimental 已定义之前 dev)
//compileSdkVersion 'android-N'
buildToolsVersion '24.0.0 rc1'
productFlavors {
experimental {
compileSdkVersion 'android-N'
minSdkVersion 'N'
targetSdkVersion 'N'
}
dev {
compileSdkVersion 23
targetSdkVersion 23
}
}
令我大吃一惊的是,这个成功了!我不知道为什么,但确实如此。您所要做的就是在任何其他变体之前定义您的仅 Android-N 变体,在 Android Studio 中点击 Build Variants 并选择您要编译的那个。
我将在 Android-N 错误跟踪器中提交问题,并在获得更多信息时更新此答案。