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