今天早些时候安装了Android开发者预览SDK之后,我想让我的应用程序与Android和更老的版本(比如Jelly )兼容。我的应用程序使用的minSdkVersion为16,但自从我试用之后,开发者预览的Android似乎并不尊重我的minSdkVersion。我试图让我的应用程序在我的Galaxy (API 19)上运行,这是我遇到的错误:
这是我的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.simon.holocountownapp"
android:versionCode="45"
android:versionName="4.1.1" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="L" />
...
这是我的build.gradle:
apply plugin: 'android'
android {
compileSdkVersion 'android-L'
buildToolsVersion '20'
defaultConfig {
minSdkVersion 16
targetSdkVersion 'L'
}
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
}
dependencies {
compile 'com.doomonafireball.betterpickers:library:1.5.2'
compile 'uk.co.androidalliance:edgeeffectoverride:1.0.1'
compile 'com.readystatesoftware.systembartint:systembartint:+'
compile "com.android.support:support-v4:+"
compile "com.android.support:support-v13:+"
}
发布于 2014-06-27 08:18:05
您正在使用此依赖项:
compile "com.android.support:support-v4:+"
这样,您就可以在L-预览 (21-rc1)中使用V4支持。
这个支持库声明了minSdkVersion L
(您可以检查Manifest)。
您必须强制minSdkVersion为“L”(请查看doc:http://developer.android.com/preview/setup-sdk.html)
在开发环境中,打开模块的build.gradle文件,并确保:
compileSdkVersion is set to 'android-L'
minSdkVersion is set to 'L'
targetSdkVersion is set to 'L'
这不是一个bug,但这是因为这些API不是最终的。这是一种防止在最终API 21设备上安装应用程序或使用support 21-r1在商店中发布应用程序的方法。
发布于 2014-06-27 05:58:28
请参阅我给/r/AndroidDev 这里的帖子,它提供了一个解决方案。
发布于 2014-06-26 23:55:14
在开发人员文档中说(http://developer.android.com/preview/setup-sdk.html):
在开发环境中,打开模块的build.gradle文件,并确保:
它似乎不能向后兼容(现在)。
https://stackoverflow.com/questions/24441162
复制相似问题