package Ġcom . li any i . pa im ons notebook . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager . GET _ META _ DATA Ċ import Ġandroid . content . res . Resources Ċ import Ġdal vik . system . Dex ClassLoader Ċ import Ġjava . io . File Ċ Ċ object ĠPlugin ManagerImpl Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġresources : ĠResources ĊĠĠĠ Ġlateinit Ġvar Ġdex ClassLoader : ĠDex ClassLoader ĊĠĠĠ Ġlateinit Ġvar ĠmContext : ĠContext ĊĠĠĠ Ġfun Ġinit ( context : ĠContext ){ ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġcontext . get External Files Dir ( null ) ĊĠĠĠĠĠĠĠ Ġval Ġcache Path Ġ= ĠFile ( path ," cache ") ĊĠĠĠĠĠĠĠ Ġif (! cache Path . exists ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache Path . mkdir s () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġresources Ġ= Ġcreate Resource ("${ path }/ plugin / u ig f - excel - debug . apk ") ĊĠĠĠĠĠĠĠ Ġdex ClassLoader Ġ= ĠDex ClassLoader ("${ path }/ plugin / u ig f - excel - debug . apk ", cache Path . absolute Path ," ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . class Loader ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Resource ( apk Path : String ): Resources { ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= ĠmContext . package Manager ĊĠĠĠĠĠĠĠ Ġval Ġpack Info Ġ= Ġmanager . get Package Archive Info ( apk Path , GET _ META _ DATA ) !! ĊĠĠĠĠĠĠĠ Ġpack Info . application Info . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Source Dir Ġ= Ġapk Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Dir Ġ= Ġapk Path ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmanager . getResources For Application ( pack Info . application Info ) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror (" CAN ĠNOT ĠCREATE ĠRESOURCE ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }