今天我已经下载了Android Studio v 0.8.0 beta。我试图在SDK 17上测试我的应用程序。 Android工作室错误Failure [INSTALL_FAILED_OLDER_SDK]
这是我的android清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vahe_muradyan.notes" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Main_Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
似乎android studio在build.gradle中使用配置。这是build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 'L'
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.vahe_muradyan.notes"
minSdkVersion 8
targetSdkVersion 'L'
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+'
}
答案 0 :(得分:27)
有我的配置支持L和旧版本的android:
apply plugin: 'com.android.application'
android {
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.example.uladzimir_klyshevich.myapplication"
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
l {
minSdkVersion 'android-L'
targetSdkVersion 'android-L'
compileSdkVersion 'android-L'
}
old {
minSdkVersion 10
targetSdkVersion 20
//TODO comment second line if build is not compiles for "L"
compileSdkVersion 20
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
lCompile 'com.android.support:appcompat-v7:21.+'
oldCompile 'com.android.support:appcompat-v7:19.1.0'
}
结果你会有口味:
oldDebug
oldRelease
lDebug
lRelease
并且可以在旧版本的android上安装您的应用程序。
答案 1 :(得分:12)
在磨损模块中的build.gradle
文件中进行这些更改
compileSdkVersion 20
targetSdkVersion 20
所以最终的 wear / build.gradle 内容将是:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "your package name"
minSdkVersion 20
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:+'
compile 'com.google.android.gms:play-services-wearable:+'
}
答案 2 :(得分:6)
我使用Android Studio Beta版本0.8.1,我遇到了同样的问题。我现在通过将AVD(我使用Genymotion)更改为API 19来解决我的问题。 这是我的build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "com.example.daroath.actionbar"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
希望这有帮助!
答案 3 :(得分:4)
我遇到了同样的问题并通过使用sdk管理器下载api level 20并更改指向 android-L 的每个字符串来解决它。我这样做是因为我没有kitkat设备而且不想使用模拟器。 请参阅图像下载标记的图像。
这是我的构建配置:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20//changed this from default
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.example.subash.test"
minSdkVersion 12//changed this from default
targetSdkVersion 20//changed this from default
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
答案 4 :(得分:2)
<uses-sdk android:minSdkVersion="19"/>
AndroidManifest.xml
在Android Studio(Beta)0.8.2上为我工作。
答案 5 :(得分:2)
经过大量研究后,我找到了解决这个巨大错误的解决方案,我正在奋斗2天。
而不是改变minSdkVerison&amp; build.gradle中的targetSdkVersion
只需打开清单文件并使用此
即可<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="21"/
答案 6 :(得分:2)
将user-sdk更改为旧版本
<uses-sdk android:minSdkVersion="19"/>
答案 7 :(得分:2)
失败[INSTALL_FAILED_OLDER_SDK]
基本上意味着安装失败,原因是目标位置(AVD / Device)的SDK版本低于应用中指定的targetSdkVersion
。
发件人强>
apply plugin: 'com.android.application'
android {
compileSdkVersion 'L' //Avoid String change to 20 without quotes
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.vahe_muradyan.notes"
minSdkVersion 8
targetSdkVersion 'L' //Set your correct Target which is 17 for Android 4.2.2
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+' // Avoid Generalization
// can lead to dependencies issues remove +
}
以强>
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.vahe_muradyan.notes"
minSdkVersion 8
targetSdkVersion 17
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.0.0'
}
这是从eclipse到现在的Android Studio 0.8-.8.6
的常见错误Android Studio中要避免的事情(目前为止)
答案 8 :(得分:2)
如前所述,切换到构建19之前是建议的路由,直到v20“固定”。这个帖子帮助我解决了这个问题,但似乎这里也发布了类似的答案。 https://code.google.com/p/android/issues/detail?id=72840
答案 9 :(得分:1)
真正的问题是,使用vanilla Android Studio v 0.8 beta,它只会安装/识别SDK 20,即android L.为了定位另一个complieSDK,您需要通过SDK管理器安装它。设置完成后,您可以将compileSDK更改为较低版本,它应该可以正常工作。
您可能还想限制兼容性库,需要限制它使用最新版本的库,因此请将依赖性更改为:
compile('com.android.support:appcompat-v7:19.1.0') {
// really use 19.1.0 even if something else resolves higher
force = true
}
答案 10 :(得分:1)
只需转到build.gradle(Module:App)
并将minSdkVersion
更改为您使用模拟器的任何内容。
示例:
defaultConfig {
applicationId "com.example.raghu.sample"
// Change the version in following line
minSdkVersion 10 // <-- Whatever you are using with Emulator
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
答案 11 :(得分:1)
我解决了这个问题。 我刚刚将androidS的compileSdk版本修改为19 定位我的nexus 4.4.4。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'
}
}
apply plugin: 'com.android.application'
repositories {
jcenter()
}
android {
**compileSdkVersion 'android-L'** modified to 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.antwei.uiframework.ui"
minSdkVersion 14
targetSdkVersion 'L'
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
**compile 'com.android.support:support-v4:21.+'** modified to compile 'com.android.support:support-v4:20.0.0'
}
如何通过ide修改值。
选择文件 - &gt;项目结构 - &gt;方面 - &gt; android-gradle然后将编译的Sdk版本从android_L修改为19
抱歉,我没有足够的声誉来添加图片答案 12 :(得分:1)
我最初进入SDK Manager并更新了它设置为更新的所有内容。
我还在SDK版本中添加了我在Droid上安装的Android版本......版本2.3.4(10)
我认为没有真正解决任何问题,并且在安装SDK后按照建议重新启动Android Studio后,我在build.gradle文件中将minSdkVersion更改为8
然后我就可以将应用程序下载到我的Droid。
defaultConfig {
applicationId "com.cmcjr.chuck.droid_u"
minSdkVersion 8
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
这是安装在Ubuntu 12.04上的Android Studio
答案 13 :(得分:0)
在build.gradle中更改minSdkVersion 17或更高版本。
答案 14 :(得分:0)
您需要更新。
这是我目前的解决方案(09/2015)。
在Android Studio搜索中。
Menu --> Help --> check for update
Upate和问题解决了!!
祝你好运
答案 15 :(得分:0)
检查build.gradle(module:app)[gradle脚本内部]内的最低API级别。 它应该等于或低于您使用的设备
答案 16 :(得分:0)
minSdkVersion更有意义的另一个地方是味道:
productFlavors {
dev {
minSdkVersion 22
}
prod {
minSdkVersion 9
}
}
minSdkVersion(22)将不会安装在API级别低于22的开发设备上。
答案 17 :(得分:0)
您的设备早于minSDK
,请在build.gradle
minSdkVersion
答案 18 :(得分:0)
检查&#39; minSdkVersion&#39;在build.gradle中
默认项目使用最新的API创建它,因此如果您的手机尚未更新(例如 minSdkVersion 21 ),这可能就是您的情况。
确保 minSdkVersion 值与设备API版本匹配,或者设备的版本是否更高。
示例:
defaultConfig {
applicationId 'xxxxxx'
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
答案 19 :(得分:0)
尝试更改你的sdk min版本
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="19" />
答案 20 :(得分:0)
支持Android L的另一种方法是为Gradle使用自定义lpreview
属性。例如:
lpreview = hasProperty('lpreview')
apply plugin: 'com.android.application'
android {
compileSdkVersion lpreview ? "android-L" : 19
buildToolsVersion "20.0.0"
productFlavors { lpreview ? lpreview{} : classic{} }
defaultConfig lpreview ? {} : {
minSdkVersion 14
targetSdkVersion 19
}
现在,您可以使用以下内容构建应用程序:
./gradlew clean
./gradlew -Plpreview assembleDebug
或
./gradlew -Plpreview installLpreviewDebug
通过这种方式,您可以使用适用于Android L的lpreview
属性构建应用,而不使用以前版本的应用。
答案 21 :(得分:0)
类似于之前的一些帖子 - 我去了SDK Manager并卸载了v20和版本L.然后我安装了版本19,这个问题解决了,我可以使用我的Android设备进行调试,没有错误。
答案 22 :(得分:0)
刚刚安装了Android Studio v 0.8.1 beta并遇到了针对SDK 19的同样问题。
从adt-bundle复制到android-studio,将build.gradle更改为:
compileSdkVersion 19 targetSdkVersion 19
然后项目 - &gt; app - &gt;打开模块设置(又名项目结构):将编译sdk版本更改为19。
现在工作正常。