KitchenSink on Android: Mission Impossible!
Why is it that hard for a new developer to get the KitchenSink example up and running on an Android emulator?
I downloaded the recent Titanium Developer (1.2.1) and the latest KitchenSink example (1.2.0).
I realized it won't work with the default Android 1.1 and switched to 2.1.
I downloaded the nightly build of SDK 1.2.1.
I deleted all previously created AVDs and restarted the ADB.
I got it all up and running exactly once!
Now whenever I try to launch KitchenSink again I get:
[TRACE] E/PackageManager( 53): Package com.nolanwright.kitchensink requires unavailable shared library com.google.android.maps; failing!
...
[ERROR] Failed installing com.nolanwright.kitchensink: pkg: /data/local/tmp/app.apk
[TRACE] Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
Why is it that hard? What am I doing wrong? It should be a default example to get into Titanium Developement (what I would like to do) not scaring users away from it, right?
Edit: Now I switched to APIs 2.1 and it's up and running again. Though I can't get it to work in 2.1 directly. :confused:
6 Answers
-
Hey Friedrich
Are you running with the "APIs" version of the SDK? These two errors:
[TRACE] E/PackageManager( 53): Package com.nolanwright.kitchensink requires unavailable shared library com.google.android.maps; failing!
INSTALL_FAILED_MISSING_SHARED_LIBRARY
Indicate that you aren't running against "APIs" (short for "Google APIs"), which is necessary for any app that uses the Maps API (i.e. KitchenSink)
In your SDK dropdown, check that you have "APIs 2.1" checked, and not "2.1". If you don't have an option for "API 2.1", You need to make sure you have the Google APIs for your platform installed the
android
command. -
Here is all that I had to do to get things working consistently :
Delete all AVD's
Insure that you have the following Installed Packages (others may be ok, but I paired it down to only these)
- Android SDK Tools, revision 10
- Android SDK Platform-tools, revision 3
- SDK Platform Android 2.2, API 8, revision 2
- SDK Platform Android 2.1-update1, API 7, revision 2
- SDK Platform Android 1.6, API 4, revision 3
- Google APIs by Google Inc., Android API 8, revision 2
- Google APIs by Google Inc., Android API 7, revision 1
- Google APIs by Google Inc., Android API 4, revision 2
- Google Market Licensing package, revision 1
Now, from Titanium Developer, under "Run Emulator > Android" click "Launch"
This is very likely fail, but it will create an AVD baseline for you to modify
Go back the the AVD Manager, refresh the list of Virutal Devices and you should now see something like: "titanium_1_HVG…."
Edit the AVD, make sure that the Target is "Google APIs (Google Inc.) - API Level 8
- Note, I used WQVGA400 but I think others will work … the key was to use the Google APIs not the Android 2.2 target.
Now, return to the Titanium Developer and you should be able to launch and see it run.
-
I've been struggling with the same issue and finally found the answer here. Why can't it tell me exactly that I should use Google API version instead of the meaningful [INSTALL_FAILED_MISSING_SHARED_LIBRARY]? I started hating the environment even before typing a single line of code. If I can't run the basic example provided with the titanium studio then it's probably a good sign to stay away from titanium.
-
Hi Marshall.
Yes, as I mentioned in my "Edit" (just at the bottom of my post) this solved the final issue. Thanks.
Anyhow, it's quite hard to find all this information, maybe you should have a guide detailling all the dos and donts. -
This may or may not help you, but I was getting an error when trying to deploy the Appcelerator Kitchen Sink demo to an Android device. Deploying to an apple device worked after I set up the provisioning profile, but the Android device would not work. After looking through the files in the Kitchen Sink project, I noticed a README.txt file in the KindleFire_AndroidManifest directory. The instructions told me to to copy the AndroidManifest.xml file to the platform/android directory. After I did this, the app launched successfully on my android device.
I hope this helps.
-
Thank you Rodney for your issue on packages, that solves the problem.