OK... I figured it out.
Needed to add a file to /system/etc/permissions linking mapping the
library name to the jar file--then reboot.

- John

On Jan 7, 1:39 pm, John Seghers <[email protected]> wrote:
> Hi Dianne,
>
> Thank you for your help with this.
>
> I'm trying to implement the shared library so that hopefully if we
> ever need to use this, the Market will support that kind of filtering
> by that time.  Also, since we report to our servers an ID unique to
> carrier/oem/handset, we want to carry this information in this shared
> library so that a generic update can pick up the handset-specific
> information.
>
> I'm having a problem getting <uses-library> to work, though (see
> problem description below)
>
> On Dec 18 2009, 1:42 pm, Dianne Hackborn <[email protected]> wrote:
>
> > Actually, if your app needs some functionality from the device that is not
> > part of the platform, the proper way to do this is to put it in a shared
> > library like this that the application uses (and the OEM implements).  This
> > may just be what you want to do anyway.
>
> Our application doesn't actually need anything specific provided by
> the OEM for the app to run, but our app provides a service and content
> provider that the
> OEM then uses to obtain information. Since this integration is a key
> element of our product, it doesn't make sense to put it on a handset
> that doesn't have
> the OEM-level support.
>
> So I've created a project with a single class
> "com.cequint.platform.CequintConfig". I've run dx on the resulting
> class files and packaged it in to a JAR file with a MANIFEST.MF
> similar to that in other .jar files I see in /system/framework.
> Indeed, I just copied the MANIFEST.MF from monkey.jar.
>
> So my jar file is named com.cequint.platform.jar and contains:
> /META-INF/MANIFEST.MF
> /classes.dex
>
> This jar file layout is the same for monkey.jar and
> com.google.android.maps.jar.
>
> I then remounted /system on an OEM development phone and pushed
> com.cequint.platform.jar into the /system/framework directory.
>
> I added <uses-library android:name="com.cequint.platform" /> to a test
> application's <application> section.
>
> When I try to install the test application, I get an error from "adb
> install": Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
>
> What am I missing here?
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to