question: public SmaliClassDetailLoader ( ZipFile apkFile , boolean translateInstructions ) { ArrayList < ZipEntry > dexEntries = new ArrayList < ZipEntry > ( ) ; dexEntries . add ( apkFile . getEntry ( "classes.dex" ) ) ; for ( int i = 2 ; i < 99 ; ++ i ) { final ZipEntry e = apkFile . getEntry ( "classes" + i + ".dex" ) ; if ( e != null ) { dexEntries . add ( e ) ; } else { break ; } } final int n = dexEntries . size ( ) ; if ( n == 0 ) { Log . err ( "Source apk does not have any dex files" ) ; } this . translateInstructions = translateInstructions ; this . resolver = translateInstructions ? new InvocationResolver ( ) : null ; final Opcodes opcodes = Opcodes . forApi ( Settings . apiLevel ) ; try { dexFiles = new DexFile [ n ] ; for ( int i = 0 ; i < n ; ++ i ) { dexFiles [ i ] = DexBackedDexFile . fromInputStream ( opcodes , new BufferedInputStream ( apkFile . getInputStream ( dexEntries . get ( i ) ) ) ) ; } } catch ( IOException e ) { Log . err ( "failed to process the source apk file" ) ; Log . err ( e ) ; } }
target:  Create a loader that loads from an APK file (could contain multiple DEX files), optionally loading instructions