Just wondering I have searched but I have not found an answer. My question is I installed the latest sdk 4.0 platform. I am testing with a Samsung Captivate which runs on 2.2. When I debug I get the error about them being on different platforms. My question I quess is probably stupid, But can I ever use the captivate to test my apps I build in platform 4.0 or must I stay at the 2.2 level? New to this....Can I update my phone or just test using the 2.2 platform.
You will only be able to test apps that your phone supports. You are able to target different versions of Android (in Eclipse, right mouse click on your project then edit the Project properties - target a lower version of the OS).
Bottom line, if you are writing apps that target a specific version (in your case you wrote something for 4.0) the device you use must support that version of the OS.
You can set the version you target, which will allow you to debug on your device.
Related
Is it possible somehow - anyhow, even in another virtual machine - to emulate an ARM-based Android device running Android 1.6 Donut OS?
Android Studio does offer creating a hardware device with this version of Android, but nothing happens when I'm trying to start the emulator. I cannot start neither 1.6 Donut nor 2.3 Gingerbread. I can run 7.0 Nougat, however.
Gingerbread and Donut fail silently, the console that runs Android Studio does not output anything.
Background
I'm doing experiments on how these old devices could be reused and I have discovered that I can compile at least some rudimentary C++ using NDK (along with older versions of Java, but right now I'm interested in running native code).
The ancient old Android NDK that supports API Level 4 can only compile binary for ARM processors, but right now I'm only able to run Android 1.6 x86 in VirtualBox, which, of course, won't run that code.
As an alternative I would be happy with an NDK that compiles for the x86 port of Android.
I have successfully compiled some rudimentary binaries for recent versions of Android using NDK, now I wish I could do the same for older versions without a physical hardware, as my oldest device runs 2.3 Gingerbread. At the time I got that phone, it used to run version 1.6, but I have upgraded it long since and there is no way to go back.
I'm targeting specifically those devices that nobody uses anymore, but are not thrown into the garbage yet. (even if it remains only a hobby project, thereof)
Thank you for your hints in advance!
Micheal guided me to the right direction, thank you!
Solution
Silly enough, I did not found on my own where can I download an older release of the sdk.
I also forgot that tools/android is the executable for the graphical AVD manager (meanwhile it also features a very friendly text interface).
I could run Android, and also a hello world compiled with the old NDK.
I'm now very excited to see what is possible with these old Droids using C++! :)
Hello I am new to Android Programming, I have a doubt, can I run and test all android applications that I am going to create on my HTC phone with ice cream sandwich. I am using android studio and I prefer to test apps on my HTC connecting via USB. My system is very slow while using an emulator it is very difficult to test on emulator
Also 'compile with' API means what, I understand minimum and target sdk in Eclipse..
Yes, you can use your physical device.
But the good practice is to create a range on AVDs from minimal to max Android versions, and to test your app (run tests if you have wrote them) in those AVDs.
Skipping this point will lead to some users dissatisfaction because your app can fail\crash on untested versions. Different Android versions do have some minor differencies in the API and libs behaviour.
I'm new To android ecosystem.
Do I really need to install all the SDK from Android 1.5 to Android 4.1? to create an app which will support almost all the Android versions
No, one should be fine. Pick the latest one. So 4.1 be it!
Just set your apps mininum sdk version to the desired api level.
Eclipse should warn you if you use stuff that aint working on that minumum version.
Do I really need to install all the SDK from Android 1.5 to Android 4.1? to create an app which will support almost all the Android versions
You need to test your app on any version that you intend to support. For those Android versions that you have a physical device for, you can test your app on that (most likely). For anything else, you will at least need to download the emulator images, so you can create emulators for those older Android versions.
I want to build Android application. My target devices is tablets (not smartphones). Today exist only 3.* version of android OS, aimed for tablets. Is it normal if i begin build application for tablets in 3.* API? The tablets which will be release with android 4.0 (ice cream sandwich) can to run my application built on 3.0 API? Or me better to wait for 4.0 API if my target devices is tablets?
Generally, in which version of API to develop my app for tablets?
Thanks.
I'm pretty sure that the applications which run on Android 3.* will run on Android 4.* too, because there is no point of making and OS if the old application will not run and all the developers have to build their applications for the next version. So I suggest to build your application for Android 3.* if your target devices are tablets.
Android documentation says that all their SDK releases are forward friendly and that seems to be the case when using an emulator. I have an application that was written in 2.0, recently upgraded to 2.1 and we have some people in the office that have XOOM tablets (3.0) and we cant get it installed.
After some modifications to the manifest (suggested steps from droid dev portal) it still wont install on the XOOM at all.
If you are targeting tablets then i would start with 3.0. If there are features in 3.1 that you can't live without then have fun.
I have problems to get my application available for some devices. So I decided to keep it simple and go back to the "Hello World" example project, and try to make that available for those devices. Unfortunately, no matter what I try, the market keeps filtering it for the good old Samsung Galaxy i7500 and the T-Mobile G1 (HTC).
Copy Protection is Off, the application is "Free" and available for all countries but Unpublished (I'm not trying to download it ... yet).
The Manifest file has:
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/>
The manifest really has no other filters (permissions, uses-.. or supports-...)
I'm using eclipse, Indigo on Ubuntu Linux (11.04)
SDK version r14
Problem existed also on Eclipse Helios, Android SDK version r10
The Market application info states:
This application is only available to devices with these features, as defined in your application manifest.
Screen layouts: SMALL NORMAL LARGE XLARGE
Required device features
android.hardware.touchscreen
This application is available to over 694 devices.
Unsupported devices (some examples) are:
HTC
G1 (trout)
Touch Viva (opal)
Samsung
Behold II (sgh-t939)
Galaxy (gt-i7500)
Moment (sph-m900)
Spica (spica)
At least the G1 and the i7500 have a touchscreen, so that can not be the problem.
The Hello World project is made in Eclipse, with File->New->Android Project , and then just add the line mentioned in 2) in the manifest file. Sign, upload to market, save, and check the Device Availability Dialog.
It worked fine until somewhere in september, after I used the Android SDK Manager in Eclipse to update to the latest release. Am I the only one with this problem? How can it be solved?
This is a bug going on. The same thing actually happened to me. I ended up renaming my package and uploading it to the market and then it worked. This may be a solution you can try.
It looks like those devices can't even have android market so don't worry
reference: https://www.google.com/support/androidmarket/bin/answer.py?hl=en&answer=1141080
android version must be over 1.5 and those cellphones are:
G1 android v1.1
gt-i7500 android v1.5
Touch Viva Windows Mobile
Behold II android v1.5
(sph-m900) android v1.5
...
"Device is running Android 1.5
At this time, the Android Market website is only compatible with devices running Android 1.6 or higher. If your device is running Android 1.5, we recommend contacting your carrier or device manufacturer to see if an update to a higher version of Android is available."