it-source

설치 오류: INSTALL_FAILED_OLDER_SDK

criticalcode 2023. 5. 1. 21:29
반응형

설치 오류: INSTALL_FAILED_OLDER_SDK

나는 안드로이드 개발에 처음이고 나는 먼저 그것을 얻기를 원합니다.Hello World실행 중인 응용 프로그램입니다.저는 이클립스 IDE와 안드로이드 4.0.3 버전 15 SDK를 사용하고 있습니다.튜토리얼 사이트에서 모든 것을 복사했지만 응용 프로그램을 실행하려고 하면virtual device다음 오류가 발생했습니다.

[2012-02-01 11:31:23 - Android_test] Installation error: INSTALL_FAILED_OLDER_SDK
[2012-02-01 11:31:23 - Android_test] Please check logcat output for more details.
[2012-02-01 11:31:23 - Android_test] Launch canceled!

여기 내 수업이 있습니다.com.maze.appapp; 패키지 com.package com.app;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity{
  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView tv = new TextView(this);
        tv.setText("Hello, Android");
        setContentView(tv);

    }

}

리고그고.AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.maze.app"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="@string/app_name"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity android:name="HelloAndroid" android:launchMode="standard" android:enabled="true"></activity>
</application>

은 다은의다의 입니다.Virtual Device:

Name: AndroidVD
CPU/ABI: ARM(armeabi-v7a)
Path: path\to\avd
Target: Android 4.0.3(API level 15)
Skin: WVGA800
hw.lcd.density: 240
hw.cpu.model: cortex-a8
vm.heapSize: 48
hw.ramSize:512

뭐가 문제야?

편집: 애플리케이션이 가상 디바이스에서 실행되고 있지 않습니다.다음은 LogCat(일부 라인)에서 확인할 수 있는 내용은 다음과 같습니다.

D/PackageManager(92): New package installed in /data/app/com.maze.app-2.apk
D/dalvikvm(92): GC_CONCURRENT freed 660K, 9% free 11935K/12999K, paused 18ms+72ms
I/ActivityManager(92): Force stopping package com.maze.app uid=10040
D/BackupManagerService(92): Received broadcast Intent { act=android.intent.action.PACKAGE_REPLACED dat=package:com.maze.app flg=0x10000010 (has extras) }
V/BackupManagerService(92): updatePackageParticipantsLocked: com.maze.app

은 때입니 때문입니다.android:targetSdkVersion="@string/app_name"당신의 가장 매니페스트 파일에.
다음으로 변경:

<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15"/>

targetSdkVersion 여야하지만정수하만▁should지,▁an▁but@string/app_name문자열일 것입니다.이것이 오류의 원인이라고 생각합니다.


인 해야 합니다.intent-filter의 신의에manifiest활동을 할 수 그면안드드만활시수있다니습할작을동러이로. 않으면 콘솔 됩니다.그렇지 않으면 콘솔 창에 다음 오류가 표시됩니다.

[2012-02-02 09:17:39 - Test] No Launcher activity found!
[2012-02-02 09:17:39 - Test] The launch will only sync the application package on the device!

다을추다니에 합니다.<activity>꼬리표를 달다

<activity android:name="HelloAndroid" android:launchMode="standard" android:enabled="true">  
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

이것은 당신의 avd의 안드로이드 버전이 코드를 컴파일하는 데 사용되는 버전보다 더 오래되었다는 것을 의미합니다.

또는 장치이 sdk-version보다 때 합니다.android:minSdkVersion당신의 안드로이드 매니페스트에서.

당신은 당신의 것을 줄여야 합니다.android:minSdkVersion또는 AVD에 대해 더 높은 API 버전을 지정해야 합니다.

감소하는 것이 항상 사소한 것만은 아니라는 것을 명심하십시오.android:minSdkVersion당신이 확실히 해야만 하는 것처럼, 당신의 앱은 실제 설치된 API에 관심을 갖고 올바른 방법을 사용합니다.

AsyncTask<String, Object, String> task = new AsyncTask<String, Object, String>() {
    @Override
    protected Boolean doInBackground(String... params) {
        if (params == null) return "";
        StringBuilder b = new StringBuilder();
        for (String p : params) {
             b.append(p);
        }
        return b.toString();
    }
};
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,"Hello", " ", "world!");
} else {
    task.execute("Hello", " ", "world!");
}

액션 바 셔록과 같은 Android-support-library 및/또는 라이브러리를 사용하면 특히 이전 버전의 위젯을 처리하는 데 도움이 됩니다.

안드로이드 스튜디오 0.8.1을 사용하고 있습니다.아래와 같은 프로젝트의 Gradle 파일이 있습니다.

android {
    compileSdkVersion 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.omersonmez.widgets.hotspot"
        minSdkVersion 15
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

제 에뮬레이터는 안드로이드 4.0이었습니다.그래서 에뮬레이터를 수정하고 api 레벨 4.0.3(파일 레벨 15)을 만들었습니다.효과가 있었습니다.

여기에 설명된 모든 응답을 시도했지만 솔루션이 내부에서 변경되었습니다.build.gradle 파일minSdkVersion입니다. 의 일부 는 API 8로 작동할 수 입니다. 내 프 젝 로 API 8 로 시 시 수 8 터 9 까 메 이 의 이 지 유 였 시 습 그 다 니 것 때 없 부 지 에 기 문 트 일 의 라 할 부 작 동 브 러 이 리가▁from▁▁for▁the▁the ▁reason내´다▁was습였유니▁because▁8이▁in▁somes ▁to ▁8▁that의▁9▁can시메지그INSTALL_FAILED_OLDER_SDK:

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 22
        buildToolsVersion "22.0.1"

        defaultConfig {
            applicationId "com.tuna.hello.androidstudioapplication"
            minSdkVersion 9
            targetSdkVersion 22
            versionCode 1
            versionName "1.0"
        }
...
...
...

저의 경우 AndroidManifest.xml 파일에 있는 프로젝트를 편집했는데 런타임에 위의 오류가 발생했습니다.

<uses-sdk
    android:minSdkVersion="17"
    android:targetSdkVersion="17" />

방금 한 것은 minSdkVersion="17"을 minSdkVersion="16"으로 변경한 것입니다.결과 태그는 다음과 같습니다.

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="17" />

이제 더 이상 오류를 이해할 수 없습니다.

이것이 도움이 되길 바랍니다.

동일한 오류가 발생했지만, 문제는 AVD가 사용하고 있는 Android SDK 버전과 Android Manifest 파일의 버전이 다르다는 것입니다.저는 그것을 수정함으로써 해결할 수 있었습니다.

안드로이드:minSdkVersion="16"

AVD와 일치시킵니다.

다음을 사용하여 구축된 apk를 설치하려고 해도 동일한 오류가 표시됩니다.

compileSdkVersion "android-L"

Android 5.0의 최종 버전을 실행하는 장치의 경우에도 마찬가지입니다.간단히 변경

compileSdkVersion 21

새로운 Android 6.0 Mashmallow 수정 API 23(Android 6.0 Mashmallow)으로 업데이트할 때 다음과 같이 빌드 도구 버전을 23.0.0으로 업데이트하여 문제를 해결했습니다.

android {
    buildToolsVersion '23.0.0'
...

그리고 File > Project Structure로 이동하여 Properties 탭을 선택한 다음 Compile Sdk 버전을 "API 23: Android 5.X(MNC)"로, Build tools 버전을 "23.0.0"으로 업데이트했습니다.

나는 안드로이드 스튜디오에 있습니다.최소/대상일 때 이 오류가 발생했습니다.SDK 버전이 17로 설정되었습니다.이 스레드를 보면서 minSDKVersion, voila를 바꾸려고 했습니다.문제가 해결된가서 계산..:(

    android:minSdkVersion="17"
    android:targetSdkVersion="17" />

build.gradle을 확인하고 AVD에 설치된 SDK 버전보다 새로운 SDK 버전을 사용하지 않는지 확인합니다.하지만 Android Studio를 사용하는 경우에만 해당됩니다.

이었습니다.module롭다운의 wearableandroid.(Google의 I/O Sched 오픈 소스 앱을 실행하려고 할 때 이 오류가 발생했습니다.).moduleandroid.

은 다으로이구액수있다습으로 이동하여 수 .Run->Edit Configurations...->General 탭 ->Module: [drop-down-list-here]

추천된 매니페스트 변경을 해도 문제가 해결되지 않았습니다.

이 수정 사항은 GradleScripts 폴더의 Module:app용 build.gradle 파일에 있습니다.

이 파일(build.gradle) 안에서 다음 행이 수정되었습니다. minSdkVersion 22 저는 제 특정 전화기에 대해 이 '22' 값을 '19'로 변경했고 빌드는 오류 없이 완료되었습니다.

친구, 내 조언은 가상 장치를 바꾸는 것입니다."Genimotion" 애플리케이션을 다운로드하십시오. 사용하기 쉽고 필요한 모든 장치가 있습니다.

프젝트참다에 .build.cradle을 을 추가합니다.

defaultConfig {
    minSdkVersion versions.minSdk

}`

이렇게 하면 응용 프로그램이 장치가 실행 중인 최소 SDK를 준수합니다.

Flutter를 사용하는 경우, 일부 플러그인에는 최소한의 API 레벨 23(Android 6.1)이 필요했는데, 이로 인해 오래된 여러 장치에서 앱을 설치할 수 없었습니다.예를 들어, Flooth 프로젝트의 여러 플러그인이 최소 API 23 또는 Android 버전 6.1을 요구했기 때문에 Huawei Android 5.1 장치는 앱을 설치할 수 없었습니다.

이러한 경우 해결책을 만드는 방법:

  1. 또는 해당 플러그인을 제거하여 앱이 이전 전화기와 호환되도록 합니다.
  2. 또는 오래된 장치 사용자를 잃을 수 있는 높은 API가 필요한 Flutter 플러그인을 계속 사용합니다.

설치됨_실패_이전 버전_

만약 당신이 나처럼 완전히 새로운 사람이라면, 당신은 처음에 최소한의 SDK를 설치해야 합니다.링크를 확인합니다.

이 일은 저에게 완벽하게 해결되었습니다.

동일한 문제 해결책이 있는 다른 게시물

Ionic Android 에뮬레이터 오류 INSTALL_FAILED_OLDER_SDK

따라서 기본적으로 앱에 지정된 대상 SdkVersion보다 오래된 SDK 버전이 있기 때문에 설치에 실패했음을 의미합니다(Gradle 문제임).AndroidManifest.xml 파일을 편집하고 다음 코드를 추가하기만 하면 됩니다.

<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="14"/>

며칠 동안 해결책을 찾았지만, 그게 다입니다.

저한테는 잘 어울려요!

"설치 오류: INSTALL_FAILED_OLDER_SDK" 오류가 나타나면 AndroidManifest의 minSdkVersion 버전을 Android Emulator에 지정된 버전으로 변경해야 합니다. 설정 -> 전화기 정보 -> Android 버전을 참조하십시오.

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="14"/>

나는 나의 것을 바꿨습니다.android:minSdkVersion그리고.android:targetSdkVersion로.18부터21:

uses-sdk android:minSdkVersion="18" android:targetSdkVersion="18" 

이제 앱을 성공적으로 설치할 수 있습니다.

언급URL : https://stackoverflow.com/questions/9093709/installation-error-install-failed-older-sdk

반응형