Sunday, August 1, 2010

More smali/baksmali bugfixes

1.2.4 is out, with a number of bugfixes

Get it here

Changelist:

  • Fixed an issue when using baksmali on a case insensitive file system, and there are classes with names that only vary by case (thanks phd.dre and Brut.all!)

  • Fixed an issue where baksmali still printed out .line and .local directives even when the -d/--no-debug-info option is specified (thanks stari4ek!)

  • Fixed an issue in smali when in encountered a field or method that was named "null" (thanks dislam!)

  • Fixed an issue in smali when encountering a file that has blank annotation sets (thanks flipz and jjiovani!)

  • Fixed an issue when there is a <clinit> method with no corresponding code item

8 comments:

  1. [...] This post was mentioned on Twitter by Planet Android, Rene Nachtnebel ✔, Jon Simon, AndroidGeek.nl, Xoopia.com and others. Xoopia.com said: More smali/baksmali bugfixes: 1.2.4 is out, with a number of bugfixes Get it here Changelist: Fixe... http://bit.ly/bhIalW #xoopia #android [...]

    ReplyDelete
  2. Hi,

    I'm in the process of making my first foray into the world of Android development. I'm learning as much as I can about all topics ranging from making custom ROMs (from scratch if possible) through to simple Android SDK app development.

    I recently learnt about .DEX and .ODEX files and was very happy to find that someone out there has written a high quality tool to convert between the two.

    Anyway I mostly just wanted to say thanks for going to the effort of making smali/baksmali and making them available as open source tools. Furthermore thanks for going to the effort of writing up examples and explanations about smali and DEX files in general.

    Cheers,
    Ben

    ReplyDelete
  3. Glad you find it useful! :)

    ReplyDelete
  4. Hi JF,

    You put out the highest quality Open Source Android stuff I've come across and I wish I could give you the solution but I am not that experienced with Java. When I try to compile Smali I get the following errors:

    VisitorImpl.java:[22,9] method does not override a method from its superclass
    VisitorImpl.java:[27,9] method does not override a method from its superclass
    RadixTreeImpl.java:[417,9] method does not override a method from its superclass

    I'm running *nix with Java 1.5...I'll see what I can do to find a solution.

    Brett

    ReplyDelete
  5. Does this work on the APKs generated by googles APP inventor?

    I just tried apktool (which seems to use smali) and that spits out a lot of errors about syntax errors when trying to compile what it just decompiled.

    ReplyDelete
  6. Fixed. http://code.google.com/p/smali/source/detail?r=786 Thanks!

    ReplyDelete
  7. It "should" work. If it doesn't, it's a bug. Can you please create an issue at http://code.google.com/p/smali/issues/list and provide more details?

    ReplyDelete
  8. Works great...I'm looking forward to learning about and using the tools! Hopefully those changes don't break compilation on Java 1.6...@Override is mentioned as the reason that Google is not supporting Java 1.6 on Android OS and the reason I had to downgrade to Java 1.5.

    Thanks,
    Brett

    ReplyDelete

Note: Only a member of this blog may post a comment.