Saya baru mengenal pengembangan Android dan saya ingin Hello World
menjalankan aplikasi terlebih dahulu. Saya menggunakan Eclipse IDE dan Android 4.0.3 versi 15 SDK. Saya menyalin semuanya dari situs tutorial, tetapi ketika saya mencoba menjalankan aplikasi di virtual device
saya mendapatkan kesalahan ini:
[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!
Ini kelas saya dalam com.maze.app
paket: package com.maze.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);
}
}
dan 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>
Berikut konfigurasi dari 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
What is the problem?
EDIT: The application is not running on the Virtual Device: Here is what I get on LogCat(some of the lines):
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"
is mentioned. is it a typo?Jawaban:
It is due to
android:targetSdkVersion="@string/app_name"
in your manifiest file.Change it to:
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15"/>
The
targetSdkVersion
should be an integer, but@string/app_name
would be a string. I think this causing the error.EDIT:
You have to add a default
intent-filter
in yourmanifiest
file for the activity. Then only android can launch the activity. otherwise you will get the below error in your console window.[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!
Add the following to your
<activity>
tag.<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>
sumber
Hello Android
. Do I have to start it somehow? If yes, how? If not, why isn't it working?Hello Android
text.Hello Android
.Logcat
you mean theConsole
in Eclipse, then the answer is no. I don't get any errors. If that's not what you meant by Logcat, please tell me where I can find it.This means the version of android of your avd is older than the version being used to compile the code
sumber
This error occurs when the sdk-version installed on your device (real or virtual device) is smaller than
android:minSdkVersion
in your android manifest.You either have to decrease your
android:minSdkVersion
or you have to specify a higher api-version for your AVD.Keep in mind, that it is not always trivial to decrease
android:minSdkVersion
as you have to make sure, your app cares about the actual installed API and uses the correct methods: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!"); }
Using the android-support-library and/or libraries like actionbar-sherlock will help you dealing especially with widgets of older versions.
sumber
I am using Android Studio 0.8.1. I have a project's gradle file like below:
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' } } }
My emulator was android 4.0. So i modified my emulator and made api level 4.0.3(apilevel 15). It worked.
sumber
I tried all the responses described here but my solution was changing inside my
build.gradle
fileminSdkVersion
from 8 to 9 because some libraries in my project can´t work with API 8, that´s was the reason for the messageINSTALL_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" } ... ... ...
sumber
In my case I edited a project having this in the AndroidManifest.xml file, and which was ginving me the above error, at runtime:
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17" />
What I did just, was to change minSdkVersion="17", to minSdkVersion="16". My resulting tag was:
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="17" />
Now I'm not getting the error anymore..
Hope this helps
sumber
Received the same error , the problem was difference in the version of Android SDK which AVD was using and the version in AndroidManifest file. I could solve it by correcting the
android:minSdkVersion="16"
to match with AVD.
sumber
You will see the same error if you are trying to install an apk that was built using
compileSdkVersion "android-L"
Even for devices running the final version of Android 5.0. Simply change this to
sumber
Fix for new Android 6.0 Marshmallow Fixed my issue when I updated to API 23 (Android 6.0 Marshmallow) by updating the build tools version to 23.0.0 as follows:
android { buildToolsVersion '23.0.0' ...
And went to File > Project Structure , chose Properties tab then updated the Compile Sdk version to "API 23: Android 5.X (MNC)" and the Build tools version to "23.0.0"
sumber
I am on Android Studio. I got this error when min/targetSDKVersion were set to 17. While looking thro this thread, I tried to change the minSDKVersion, voila..problem fixed. Go figure.. :(
android:minSdkVersion="17" android:targetSdkVersion="17" />
sumber
Make sure to check your build.gradle and that it doesn't use a newer SDK version than what is installed on your AVD. That's only if you use Android Studio though.
sumber
If you are totally new like me, you must install the minimum SDK at first. Check the link.
This worked out perfectly for me:
Same problem other post with a good solution
Regards,
Khaled.
sumber
My solution was to change the run configurations
module
drop-down list fromwearable
toandroid.
(This error happened to me when I tried running Google's I/O Sched open-source app.) It would automatically pop up the configurations every time I tried to run until I changed themodule
toandroid
.You can access the configurations by going to
Run
->Edit Configurations...
->General
tab ->Module: [drop-down-list-here]
sumber
I found that making the recommended change in the manifest didn't solve my problem.
The fix was found in the GradleScripts folder, in the build.gradle file for the Module:app.
Inside this file (build.gradle) the following line was modified. minSdkVersion 22 I changed this '22' value to '19' for my particular phone and the build completed without error.
sumber
Mate, my advice is to change virtual device. Download "Genimotion" application, its easy to use and there are a lot of any devices you need
sumber
Go in your project's
build.cradle
file and adddefaultConfig { minSdkVersion versions.minSdk
}`
This makes it that your application conforms to the minimum SDK your device is running.
sumber
Ionic Android emulator error INSTALL_FAILED_OLDER_SDK
So, basically it means that the installation has failed due to having an older SDK version than the targetSdkVersion specified in your app (it's a Gradle issue). Just edit the AndroidManifest.xml file and add the following code:
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="14"/>
After days looking for the solution, that's it.
Works fine for me!
sumber
If the error "Installation error: INSTALL_FAILED_OLDER_SDK" appears, you must change the version of minSdkVersion in AndroidManifest to the one specified in the android emulator: see Settings -> About phone -> Android version.
sumber
I've changed my
android:minSdkVersion
andandroid:targetSdkVersion
to18
from21
:uses-sdk android:minSdkVersion="18" android:targetSdkVersion="18"
Now I can install my app successfully.
sumber