亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android 中動態加載.jar的實現步驟

2020-04-11 12:33:31
字體:
來源:轉載
供稿:網友
首先第一個是 jar 文件的制作,Java 里面直接把 .class 文件打包到 .jar 文件里面就可以了,但是 Android 的 Dalvik VM 是不認 Java 的 byte code 的,所以不能直接這么打包,而要用 dx 工具轉成 Dalvik byte code 才可以。當然,dx 工具轉了之后,jar 包里面就不 是 .class 文件了,而是 .dex 文件。

第二個是,Android 里面雖然也提供了 URLClassLoader 的實現,但是并不能用。要動態加載其它類,可以用的 Class Loader 有:
DexClassLoader,PathClassLoader,其中,DexClassLoader 可以加載 apk, jar 或者 dex 文件,例如:
復制代碼 代碼如下:

File jarFile = new File("/sdcard/test.dex");
# if ( jarFile.exists() ) {
DexClassLoader cl = new DexClassLoader(jarFile.toString(), "/sdcard/test", null, ClassLoader.getSystemClassLoader());
Class<?> c = cl.loadClass("xiaogang.test.Test");

但是 DexClassLoader 要求指定一個可寫的目錄,即 DexClassLoader 構造函數的第二個參數,在上例中是 /sdcard/test
這個參數的含義是:directory where optimized DEX files should be written
因為 Dalvik 在加載 dex 文件時,會動態進行優化,DexClassLoader 要求指定優化后 dex 文件存放的位置。

PathClassLoader 的限制要更多一些,它只能加載已經安裝到 Android 系統中的 apk 文件,也就是 /data/app 目錄下的 apk 文件。其它位置的文件加載的時候都會出現 ClassNotFoundException. 例如:
復制代碼 代碼如下:

PathClassLoader cl = new PathClassLoader(jarFile.toString(), "/data/app/" , ClassLoader.getSystemClassLoader());

由于 PathClassLoader 會去讀取 /data/dalvik-cache 目錄下的經過 Dalvik 優化過的 dex 文件,這個目錄的 dex 文件是在安裝 apk 包的時候 由 Dalvik 生成的。例如,如果包的名字是 xiaogang.test,Android 應用安裝之后都保存在 /data/app 目 錄下,即 /data/app/xiaogang.test-1.apk,那么 /data/dalvik-cache 目錄下就會生成 data@app@xiaogang.test-1.apk@classes.dex 文件。在調用 PathClassLoader 時,它就 會按照這個規則去找 dex 文件,如果你指定的 apk 文件是 /sdcard/test.apk,它按照這個規則就會去讀 /data /dalvik-cache/sdcard@test.apk@classes.dex 文件,顯然這個文件不會存在,所 以PathClassLoader 會報錯。

在 Google 修正這個問題之前,我們要么就只能用 DexClassLoader,要么就只能用 PathClassLoader 加載已安裝的 apk 。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区福利| 欧美激情在线观看| 国产精品美女在线观看| 亚洲国产91色在线| 亚洲综合小说区| 久久精品亚洲热| 亚洲福利视频二区| 国产精品自产拍高潮在线观看| 51午夜精品视频| 亚洲国产精品一区二区久| 欧美激情区在线播放| 国产精品狠色婷| 亚洲人精选亚洲人成在线| 在线播放国产一区中文字幕剧情欧美| 欧美激情网站在线观看| 久久亚洲私人国产精品va| 国产精品久久久久久av福利软件| 亚洲精品国产精品久久清纯直播| 欧美在线播放视频| 亚洲伊人久久综合| 九九热在线精品视频| 国产成人精品视频在线观看| 亚洲激情视频在线播放| 国产精品观看在线亚洲人成网| 国产成人福利夜色影视| 91精品视频在线播放| 26uuu亚洲国产精品| 亚洲精品久久久久中文字幕欢迎你| 成人www视频在线观看| 97**国产露脸精品国产| 日韩小视频在线| 欧美美女18p| 中文字幕亚洲色图| 97免费视频在线播放| 欧美另类在线观看| 国产香蕉精品视频一区二区三区| 欧美日韩成人网| 国产日韩中文字幕| 亚洲精品一区久久久久久| 中国china体内裑精亚洲片| 北条麻妃一区二区三区中文字幕| 欧美国产精品人人做人人爱| 日韩电影中文字幕在线观看| 久久激情视频久久| 精品国偷自产在线视频| 国产亚洲一区二区在线| 日韩免费在线电影| 91九色国产社区在线观看| 国产精品www| 亚洲精品国产美女| 91久久久久久久久久| 中文字幕精品一区二区精品| 中文字幕欧美日韩| 奇米成人av国产一区二区三区| 国产综合香蕉五月婷在线| 亚洲无av在线中文字幕| 欧美亚洲成人精品| 夜夜嗨av色综合久久久综合网| 国模精品视频一区二区三区| 日韩欧美在线视频观看| 国产精品视频区1| 日本精品性网站在线观看| 国产69精品99久久久久久宅男| 中文字幕日韩av| 欧美久久精品一级黑人c片| 国产精品极品美女粉嫩高清在线| 亚洲国产成人一区| 国产精品草莓在线免费观看| 色偷偷噜噜噜亚洲男人的天堂| 亚洲在线免费看| 啊v视频在线一区二区三区| 欧美另类暴力丝袜| 成人欧美在线视频| 亚洲激情在线观看视频免费| 日韩中文有码在线视频| 欧美黄色片在线观看| 欧美日韩在线观看视频小说| 欧美极品少妇xxxxⅹ免费视频| 一区二区欧美激情| 精品中文字幕视频| 国产日韩欧美在线看| 欧美日韩国产成人高清视频| 成人免费福利视频| 亚洲欧洲免费视频| 黄色一区二区三区| 成年人精品视频| 国产精品mp4| 欧美激情影音先锋| 国产精品美女呻吟| 亚洲欧美中文日韩v在线观看| 日韩在线视频导航| 国产精品久久久久av免费| 亚洲一区二区日本| 欧美大尺度激情区在线播放| 久久国产精品99国产精| 欧美激情视频网| 欧美在线欧美在线| 日韩美女激情视频| 亚洲欧美999| 色老头一区二区三区| 91禁国产网站| 57pao精品| 66m—66摸成人免费视频| 97超视频免费观看| 国产精品第3页| 欧美激情欧美激情在线五月| 国产精品青草久久久久福利99| 欧美黑人xxxⅹ高潮交| 激情懂色av一区av二区av| 国产精品日本精品| 日韩在线不卡视频| 欧美日韩国产中文字幕| 狠狠色狠色综合曰曰| 亚洲xxx自由成熟| 国产一区二区丝袜高跟鞋图片| 最近2019中文字幕第三页视频| 国产欧美一区二区三区在线| 国产精品九九久久久久久久| xxxxx91麻豆| 国产成人精品999| 国产精品日韩在线观看| 亚洲国产毛片完整版| 在线看欧美日韩| 欧美丰满少妇xxxxx| 91精品国产高清自在线| 欧美极品欧美精品欧美视频| 久久综合色88| 欧美激情精品久久久久久蜜臀| 在线视频欧美性高潮| 日韩视频永久免费观看| 久久免费视频观看| 日韩精品免费在线播放| 欧美俄罗斯乱妇| 欧美第一页在线| 久久婷婷国产麻豆91天堂| 国产欧美一区二区三区四区| 国产精品91视频| 欧美日产国产成人免费图片| 91精品国产91久久久久久吃药| 国产精品扒开腿做爽爽爽的视频| 日韩电影大片中文字幕| 日韩大胆人体377p| 日韩精品视频免费在线观看| 欧美交受高潮1| 久久精品2019中文字幕| 久久综合伊人77777| 欧美美女15p| 久久色免费在线视频| 日韩精品在线视频观看| 丰满岳妇乱一区二区三区| 国产欧美日韩丝袜精品一区| 91天堂在线视频| 日韩在线不卡视频| 中文字幕亚洲无线码a| 亚洲综合av影视| 欧美激情视频一区二区三区不卡| 国产男人精品视频| 欧美亚洲另类激情另类| 日韩精品极品毛片系列视频| 中文字幕免费国产精品| 国产视频精品一区二区三区| 日韩欧美在线国产| 国产在线视频2019最新视频| 成人av电影天堂|