Titanium Community Questions & Answer Archive

We felt that 6+ years of knowledge should not die so this is the Titanium Community Questions & Answer Archive

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:

— asked April 22nd 2010 by Friedrich Seydel
  • android
  • kitchensink
  • mobile
  • win32
0 Comments

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.

    — answered April 22nd 2010 by Marshall Culpepper
    permalink
    1 Comment
    • many thanks i had no idea that chosing sdk "1.6" would behave completely diffferently to sdk "apis 1.6" or sdk "2.2" would behave completely differently to sdk "apis 2.2"

      — commented January 1st 2011 by clive darra
  • Here is all that I had to do to get things working consistently :

    1. Delete all AVD's

    2. 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
    1. Now, from Titanium Developer, under "Run Emulator > Android" click "Launch"

    2. This is very likely fail, but it will create an AVD baseline for you to modify

    3. Go back the the AVD Manager, refresh the list of Virutal Devices and you should now see something like: "titanium_1_HVG…."

    4. Edit the AVD, make sure that the Target is "Google APIs (Google Inc.) - API Level 8

    5. 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.

    — answered March 3rd 2011 by Rodney Aiglstorfer
    permalink
    4 Comments
    • Thank you for your help, indeed you have to use Google API Level xx instead of Android x.xx as 'target' in you AVD.

      — commented August 11th 2011 by jb cazaux
    • Thank you! Found this after a lot of heartburn. Titanium folks should ideally configure this in their install or at least doc this clearly.

      — commented August 14th 2011 by Swaminathan Saikumar
    • Its working perfectly after checking above thinks.
      Thanks.

      — commented September 27th 2011 by AvtarSingh Suchariya
    • Please mark as best answer if it helped so that everybody know that because it is a common issue.

      — commented November 17th 2012 by Michael Massalas
  • 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.

    — answered August 6th 2012 by Peter Varadi
    permalink
    0 Comments
  • 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.

    — answered April 22nd 2010 by Friedrich Seydel
    permalink
    0 Comments
  • 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.

    — answered August 13th 2013 by Ryan Holzer
    permalink
    0 Comments
  • Thank you Rodney for your issue on packages, that solves the problem.

    — answered August 8th 2011 by sasa vranic
    permalink
    0 Comments
The ownership of individual contributions to this community generated content is retained by the authors of their contributions.
All trademarks remain the property of the respective owner.