I can't recommend doing any of the things you're trying to do, for the
simple reason that you're putting yourself at the mercy of
implementation changes with no notice, and you shouldn't expect to
receive any support if anything goes wrong.

I write code that's part of the Android platform, which uses private
APIs and also exposes some. I have seen first hand what happens when a
private API changes under my feet, or when I change a private API
under someone else's feet, and I only have to be worried about source
compatibility (and I have a testing team helping me find regressions,
and plenty of time to do so before the code goes out). Trying to do
the same thing "in the wild" with binaries would only be more painful.

You need to assume that those private APIs *will* change. Most likely,
either their implementation will change, or they'll stabilize, become
public, and move to another package.

That being said, if you really insist in doing what you're trying to
do, you should do it with reflection instead of direct references. In
case an API signature changes, that would at least allow you to detect
it and display a meaningful error message. You're still entirely at
the mercy of changes in the behavior of those APIs. You probably
should explicitly compare the version of the phone that a user is
using to the versions that you have explicitly against, and display a
warning in case the user runs against a version that you haven't
tested.

JBQ

On Thu, Dec 4, 2008 at 2:58 PM, dreamerBoy <[EMAIL PROTECTED]> wrote:
>
> Yes, I know about this URL and have downloaded much of the source
> code.  The delicate problem is how to build in access to the internal
> classes that I need and have them be invoked correctly by Android.
> Question is, how to do this without in effect rolling your own version
> of Android i.e., doing a full build ... after all, (this probably
> includes Linux), there are 8 million lines of code in Android.  This
> would likely turn into a project unto itself.
>
> I have an old android.jar from version 0.9 with the internal classes
> available.  When I try to use that, the Eclipse aapt environment
> immediately figures out what I'm trying to do, fails my attempt, and
> gives me a snarky message saying that I'm going to have problems
> trying to do this.
>
> Monsieur Queru - any comment?
>
> Thanks
>
> dreamer
>
> On Dec 3, 10:10 am, Ash <[EMAIL PROTECTED]> wrote:
>> Use GIT to "checkout" the source code and add the internals paths you
>> need to your application.
>>
>> //android.git.kernel.org/platform/frameworks/base/telephony is what
>> you are looking for, I think.
> >
>

--~--~---------~--~----~------------~-------~--~----~
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