Another Dalvik oddity: "bogus byte value: 128" while processing DNDConstants.class

Tor Lillqvist tml at iki.fi
Wed Mar 28 05:21:52 PDT 2012


If I add the unoil.jar file to the set of jars to be included in an
Android app, I get this error message when the app build process is
converting the Java bytecode into Dalvik executable (.dex) format:

       [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
       [dx] com.android.dx.util.ExceptionWithContext: bogus byte value: 128
       [dx] 	at
com.android.dx.util.ExceptionWithContext.withContext(ExceptionWithContext.java:46)
       [dx] 	at
com.android.dx.dex.cf.CfTranslator.processFields(CfTranslator.java:176)
[...]
       [dx] Caused by: java.lang.IllegalArgumentException: bogus byte value: 128
       [dx] 	at com.android.dx.rop.cst.CstByte.make(CstByte.java:52)
       [dx] 	at
com.android.dx.dex.cf.CfTranslator.coerceConstant(CfTranslator.java:201)
       [dx] 	at
com.android.dx.dex.cf.CfTranslator.processFields(CfTranslator.java:160)
       [dx] 	... 14 more
       [dx] ...while processing ACTION_DEFAULT B
       [dx] ...while processing com/sun/star/datatransfer/dnd/DNDConstants.class

Looking in offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl , I see:

    const byte ACTION_DEFAULT = 0x80;

Now, "byte" is a *signed* one-byte integer in Java. My trusty old
"Java in a Nutshell (4th Ed.)" claims that its legal values are -128
to 127. So should this ACTION_DEFAULT be defined as -128 instead?
Should javamaker, or whatsitcalled, be modified?

--tml


More information about the LibreOffice mailing list