1

like aux#.smali.

this file name was created when i was using the baksmali.jar on the class.dex.

is this is related with the any class property.(i.e if class is final then this issue come.). if it is then how at run time it will access by the code which expect Laux;->a:[Lapb;

  • You usually see class names like this when the apk has been obfuscated. The obfuscators try to take advantage of quirks on the windows filesystem to prevent disassembly, since `aux` is reserved filename on windows. – JesusFreke Apr 24 '16 at 18:10

1 Answers1

1

You can find the BNF grammar for allowable identifiers in the dex format specification

TypeDescriptor is the top level rule that you'll want to look at. SimpleName has a list of all the allowable characters for each individual part of the name.

To answer your question about # specifically: yes, # is an allowable character as specified by the SimpleName rule.

the Laux#; and Laux; classes are completely unrelated. Any reference to Laux#; has no relation to the Laux; class, except through the usual rules of inheritance, if applicable.

JesusFreke
  • 19,784
  • 5
  • 65
  • 68
  • so that can be an error situation when i try to decompile the dex file and then re-build it using the apktool and at run time it get crash. because this aux.smali class get renamed into aux#.smali.?? –  Apr 24 '16 at 18:31
  • No. Like I said, `Laux#;` is a completely different class. If you disassemble and reassemble, `Laux;` will still be `Laux;` and `Laux#;` will still be `Laux#;`. If you're getting a crash, then look at the stack trace and any errors that dalvik/art produce in logcat. Feel free to write a new question if you need help with the crash. – JesusFreke Apr 24 '16 at 23:04