question: private static boolean appendOdexesToClassPath ( Context cxt , File dexDir , String [ ] names ) { String strDexDir = dexDir . getAbsolutePath ( ) ; ArrayList < String > jarPaths = new ArrayList < String > ( ) ; for ( int i = 0 ; i < names . length ; i ++ ) { String jarPath = strDexDir + '/' + names [ i ] ; File f = new File ( jarPath ) ; if ( f . isFile ( ) ) { jarPaths . add ( jarPath ) ; } } String [ ] jarsOfDex = new String [ jarPaths . size ( ) ] ; jarPaths . toArray ( jarsOfDex ) ; PathClassLoader pcl = ( PathClassLoader ) cxt . getClassLoader ( ) ; try { if ( Build . VERSION . SDK_INT < SDK_INT_ICS ) { FrameworkHack . appendDexListImplUnderICS ( jarsOfDex , pcl , dexDir ) ; } else { boolean kitkatPlus = Build . VERSION . SDK_INT >= SDK_INT_KITKAT ; boolean marshmallowPlus = Build . VERSION . SDK_INT >= SDK_INT_MARSHMALLOW ; ArrayList < File > jarFiles = DexDex . strings2Files ( jarsOfDex ) ; FrameworkHack . appendDexListImplICS ( jarFiles , pcl , dexDir , kitkatPlus , marshmallowPlus ) ; } for ( String jarName : names ) { theAppended . add ( jarName ) ; } if ( debug ) { Log . d ( TAG , "appendOdexesToClassPath completed : " + pcl ) ; Log . d ( TAG , "theAppended : " + theAppended ) ; } } catch ( Exception ex ) { throw new RuntimeException ( ex ) ; } return true ; }
target:  append DexOptimized dex files to the classpath.