The wrapper class example is defective if the verifier is
"conventional" -- doesn't have the  swizzle you describe since 1.6.

On Oct 20, 12:53 pm, fadden <fad...@android.com> wrote:
> On Oct 19, 6:47 pm, DanH <danhi...@ieee.org> wrote:
>
> > Even if you never actually execute the code that's causing the
> > problem, the verifier will reject it, since it's doing a static check
> > and can't tell what code is or isn't executed.
>
> That's a pretty concise explanation of the difference between 1.6 and
> 2.0.
>
> In <= 1.6, if the verifier couldn't find a field or decided that you
> didn't have access to a package/private method, it would reject the
> entire class immediately.
>
> In >= 2.0, the verifier inserts an "always throw" instruction and
> verification continues.  Nothing fails unless you actually try to
> execute the code in question.
>
> It looks like xcxin.mysecret.mainSecretActivity.processContact() is
> attempting to access a static field
> android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI
> that didn't exist in 1.6.  (In fact, I don't think ContactsContract
> existed in 1.6.)
>
> Some notes about backward compatibility can be found here:
>
>  http://developer.android.com/resources/articles/backward-compatibilit...

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to