title: Android: How to Use "uses-library"?
body: <p>My Android application can be divided into a client UI layer and a API layer. i would like to deploy them as separate "applications" so that the API layer can be reused.</p>
  
  <p>In Eclipse, i write them as 2 separate Android projects. In the client UI project, i declare the API project in its build path (Project -> Properies -> Java Build Path -> Projects).</p>
  
  <p>When deploying the client UI project through Eclipse (on my actual G1 phone), it automatically deploys the API project (packaged into APK) as well.</p>
  
  <p>However, when launching the client UI application, i hit this error:</p>
  
  <pre><code>Uncaught handler: thread main exiting due to uncaught exception
  java.lang.VerifyError: myapp.android.testuiclient.Main
      at java.lang.Class.newInstanceImpl(Native Method)
      at java.lang.Class.newInstance(Class.java:1472)
      at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
      at android.app.ActivityThread.access$2100(ActivityThread.java:116)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
      at android.os.Handler.dispatchMessage(Handler.java:99)
      at android.os.Looper.loop(Looper.java:123)
      at android.app.ActivityThread.main(ActivityThread.java:4203)
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:521)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
      at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>Looking around, it <em>seems</em> like i should declare uses-library under application in the manifest file for the UI client.</p>
  
  <p>Question is, what should i put under android:name for uses-library? Dev guide says "the name of the library" but what is the name of the library? (i mean, in my API "application", i haven't declared any library name anywhere.)</p>