As the PlatformLibrary shows, you place an xml file in
/system/etc/permissions which defines the library, and the system picks this
up.  For example Google's maps library is in the file
/system/etc/permissions/com.google.android.maps.xml with the contents:

<?xml version="1.0" encoding="utf-8"?>
<permissions>
    <library name="com.google.android.maps"
            file="/system/framework/com.google.android.maps.jar" />
</permissions>

On Mon, Nov 9, 2009 at 10:57 AM, Dan Raaka <danra...@gmail.com> wrote:

> Where do you get the information about these extended libraries from
> the a OEM build ?
>
> -Dan
>
> On Oct 7, 9:53 pm, Dianne Hackborn <hack...@android.com> wrote:
> > Hi all,
> >
> > I would like to make a request for the people who are making custom
> builds
> > of Android for users to install on their phones.
> >
> > If you are going to allow the user to keep Market on their phone, and are
> > adding any new features, please do this the official way: include your
> own
> > shared library with the features that applications use, rather than
> having
> > magic hacks in the framework for them.  (Some of the things I am talking
> > about is redefining MotionEvent for multi-touch data, or I believe the
> magic
> > permission that is used for apps to be root.)
> >
> > In the source base you can find the PlatformLibrary sample code, which
> shows
> > the official way to add custom extensions to the platform.  Some key
> points
> > about this:
> >
> > - For applications to use your new features, they must explicitly link
> with
> > the library (via <uses-library> in their manifest), ensuring there are no
> > conflicts with future changes to the platform or other vendors.
> >
> > - Market keeps track of the libraries available on a device and the
> > libraries needed by an application, to only show applications to the user
> > that are compatible with a device.  No more need for for developers to
> say
> > "works only with rooted phones" or what not, no more making users dig
> > through apps that are not relevant to them.
> >
> > - This allows you to supply an AVD add-on for developers to use your APIs
> in
> > the standard development environment.
> >
> > Some examples of how you may use this:
> >
> > - For adding multitouch to the platform, the MotionEvent API should be
> left
> > alone.  Instead, you can add new (hidden) parts to it containing the
> > multitouch information.  Then in your platform library you can have a
> class
> > like MultiTouchAccessor that allows applications to retrieve the extended
> > multitouch data from the event for example like this:
> >
> >   public class MultiTouchAccessor {
> >     public static float getSecondaryX(MotionEvent event) {
> >       return event.getSeconaryX();
> >     }
> >     public static float getSecondaryY(MotionEvent event) {
> >       return event.getSeconaryY();
> >     }
> >  }
> >
> > For a permission that allows an application to be root, it is okay to add
> > the permission to the framework as long as it is not in the android.* or
> > com.android.* namespace, but in a namespace someone else owns.  However,
> > there still must be some kind of shared library (even if it is a stub)
> for
> > the application to request along with it, and the package manager should
> not
> > allow the application get this permission unless they also request the
> > shared library.  This is to ensure that developers mark their apps as
> > requiring this new "api", so that market can filter them.
> >
> > Thanks!
> >
> > --
> > Dianne Hackborn
> > Android framework engineer
> > hack...@android.com
> >
> > Note: please don't send private questions to me, as I don't have time to
> > provide private support, and so won't reply to such e-mails.  All such
> > questions should be posted on public forums, where I and others can see
> and
> > answer them.
>
> --
> unsubscribe: 
> android-porting+unsubscr...@googlegroups.com<android-porting%2bunsubscr...@googlegroups.com>
> website: http://groups.google.com/group/android-porting
>



-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to