Android Application plugin

     
在網易雲閱讀App上看到了插件管理功能,剛好自己也需要以插件的模式來擴展已有的功能,於是研究了一下,下面是一張網易雲閱讀App提供的插件模式,只需下載相應的插件就擴展了相應的功能,非常方便。



     在插件下載完成了之後還有一個安裝過程,這一個安裝過程誤導了我很久,一開始以爲Android SDK已提供了相應的插件功能,經過google一番發現壓根就沒有提供該功能。接着以爲是網易自己實現了插件功能,遂想偷師。反編譯了代碼,拿過來一看,混淆的比較嚴重,壓根就不能看,沒辦法只有硬着頭皮去尋找相關的代碼,經過一番查找,終於找到了關鍵代碼,發現往 /data/data/packagename/plugin/pdf目錄下存了一些東西,於是在該目錄下發現以下一些文件



     記得以前看到過一篇文章,在Android中也可以動態的去加載class文件,http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html ,由於自己的英語比較挫,看得不是很真切,不過農民伯伯有篇類似的文章http://www.cnblogs.com/over140/archive/2012/03/29/2423116.html ,並閱讀提供的擴展閱讀博文很好的解決了本人的需求 探祕騰訊Android手機遊戲平臺之不安裝遊戲APK直接啓動法 

     記得以前看到過一篇文章,在Android中也可以動態的去加載class文件,http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html ,由於自己的英語比較挫,看得不是很真切,不過農民伯伯有篇類似的文章http://www.cnblogs.com/over140/archive/2012/03/29/2423116.html ,並閱讀提供的擴展閱讀博文很好的解決了本人的需求 探祕騰訊Android手機遊戲平臺之不安裝遊戲APK直接啓動法 

     不過在實踐的過程中也發現一些問題,如果直接去加載 SDCard中的apk文件並不能成功,具體的異常這裏就不貼了,自己可以去實踐下。還有就是發現如果去加載直接dex文件的話也不能成功,報的異常是"unable to open 'dex' file",通過閱讀API文檔發現並沒有提及可以直接加載dex文件,只是說可以去加載包含classes.dex文件的jar包和apk文件

     以上遇到的問題還望大家能夠指點一下~

     最後還是希望大家能夠仔細閱讀下面的參考博文中的內容~

     參考博文






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章