On 04/01/2010 11:33 AM, Dianne Hackborn wrote:
"Be careful" means to test and run the app on the oldest version of the platform you support to make sure it works.

"Works" is the key word here. I'm guessing that "works" doesn't mean
"the app started!". I assume that this means in reality full regression
testing against every sdk.

Just doing automated tests to make sure you are not calling any older APIs is not a guarantee you will work.

No, sorry I didn't mean to imply it would. I was thinking more of a profiler
that highlighted potentially unsafe areas so that you can check them to
make certain that they're properly protected. What I'm most concerned
about is inadvertent introduction of later sdk calls. Sort of an SDK lint.


In addition, it is typical for an application to take advantage of Java class loading to be able to use newer APIs if they are available (see for example my blog post on the new service APIs), and I don't see any way an automated tool could accurately determine whether that code is safe on an older platform.

You just need to make sure you test your app in the key environments it will run.

Full regression testing is really onerous. The problem here is that it's
really really easy to fall into the pit trap here that you find out too late
(ie, in the field). And the problem is only going to get worse and worse
as time goes on.

I'll look for your article.

Mike


On Thu, Apr 1, 2010 at 11:05 AM, mike <[email protected] <mailto:[email protected]>> wrote:

    On 04/01/2010 10:53 AM, ~ TreKing wrote:

        On Thu, Apr 1, 2010 at 11:51 AM, Achanta
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected]
        <mailto:[email protected]>>> wrote:

           Still looking for someone to confirm it that it does not cause
           any problems.


        Um ... didn't Michael just do that?
        There is no specific problem with what you're doing, except of
        course properly testing all supported versions and being
        careful if / how you use APIs that did not exist on 1.5.


    Here's the question I have: define "be careful". If "be careful" means
    inspecting every class/method call you make against SDK level, I think
    you're setting yourself up for failure, as it's extremely easy to
    miss that,
    and the only time you find it is at run time, which for a seldom
    run piece
    of code could be pretty elusive.

    It's would be a lot better to "be careful" by having some tool --
    maybe in
    the android dev tool chain or the eclipse plugin -- that
    "carefully" goes
    through your code looking for method/classes that are below the
    current
    SDK level. I'm sure there are even better ways to "be careful".

    But as it right now, "be careful" is just a big smelly hack.

    Mike


-- 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]
    <mailto:[email protected]>
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:android-developers%[email protected]>
    For more options, visit this group at
    http://groups.google.com/group/android-developers?hl=en

    To unsubscribe, reply using "remove me" as the subject.




--
Dianne Hackborn
Android framework engineer
[email protected] <mailto:[email protected]>

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.

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

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