For the curious: sdphil was kind enough to provide the APK and the
ProGuard-modified classes.  It appears that the "dx" program, which
converts Java bytecode to Dalvik bytecode, is emitting a bad sequence
of instructions.  The verifier is correctly identifying the situation
and rejecting the class.

Top Men are on it.


For the curiously curious:

07ca00: 7120 7201 4000                         |0042: invoke-static
{v0, v4}, [blah]
07ca06: 0c00                                   |0045: move-result-
object v0
07ca08: 1100                                   |0046: return-object v0
  ...
07ca2e: 7120 7201 4000                         |0059: invoke-static
{v0, v4}, [blah]
07ca34: 28e9                                   |005c: goto 0045 //
-0017

The Dalvik bytecode specification requires that move-result
instructions appear immediately after a method invoke instruction.  In
this case the invoke at 0059 is followed by a goto to 0045, which does
the move-result.

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