Android学习之plugin插件apk中Resource、AssetManager资源获取
来源:互联网 发布:淘宝网的女款衬衣 编辑:程序博客网 时间:2024/06/06 05:17
demo下载
友情跳转:基于DexClassLoader类装载器开发plugin插件
/** * 根据plugin插件路径创建插件AssetManager对象 * * @param apkPath * @return */private AssetManager createPluginAssetManager(String apkPath) { try { AssetManager assetManager = AssetManager.class.newInstance(); try { AssetManager.class.getDeclaredMethod("addAssetPath", String.class).invoke( assetManager, apkPath); } catch (Throwable th) { System.out.println("debug:createAssetManager :"+th.getMessage()); th.printStackTrace(); } return assetManager; } catch (Throwable th) { System.out.println("debug:createAssetManager :"+th.getMessage()); th.printStackTrace(); } return null;}/** * 使用反射的方式,使用Plugin的Resource对象,替换Context的mResources对象 * * @param context * @param resources */public void replaceContextResources(Context context, Resources resources){ try { Field field = context.getClass().getDeclaredField("mResources"); field.setAccessible(true); field.set(context, resources); System.out.println("debug:repalceResources succ"); } catch (Exception e) { System.out.println("debug:repalceResources error"); e.printStackTrace(); }}/** * 获取plugin插件中的Resources资源对象 * * @param context * @param apkPath * @return */public Resources getPluginResource(Context context, String apkPath){ AssetManager assetManager = createPluginAssetManager(apkPath); return new Resources(assetManager, context.getResources().getDisplayMetrics(), context.getResources().getConfiguration());}
1 0
- Android学习之plugin插件apk中Resource、AssetManager资源获取
- Android应用程序插件化研究之AssetManager
- Android应用程序插件化研究之AssetManager
- maven的maven-resource-plugin资源插件
- Android 通过反射综合应用-获取插件Plugin资源
- Android 插件化开发之获取APK的代码与资源
- Android插件化(三)加载插件apk中的Resource资源
- Android插件化(三):加载插件apk中的Resource资源
- Android之AssetManager使用
- Android之AssetManager使用
- 轻松实现Android 更换皮肤(主题) - 资源打包为apk,使用AssetManager动态解析调用
- Eclipse plugins 插件开发学习 - 在 plugin.xml 中使用资源文件 plugin.properties
- android中的apk资源获取
- Android APK反编译获取资源
- Maven学习之 插件plugin
- Spring中Resource(资源)的获取
- Android学习第二课:Assets资源文件读取及AssetManager介绍
- Android 动态加载 之 如何获取插件res资源
- Ubuntu 16.10下安装scikit-learn 0.18.1
- 一个有着EXTJS皮肤外观的网页图表插件
- java序列化和反序列化
- Occlusion culling 趟坑
- 简单爬取豆瓣纸书名与简介,图片链接1
- Android学习之plugin插件apk中Resource、AssetManager资源获取
- leetcode 541. Reverse String II(easy)
- poj 1064 cable master (分绳子)二分求最大值
- ELK日志处理之使用logstash收集log4J日志
- csdn博客暂停使用通知
- Django项目开发举例之用户界面表单(6)
- 【Linux】 JDK安装及配置 (tar.gz版)
- android sqlite数据库并发问题的详细描述和解决方案
- 微信多图上传,解决android多图上传失败问题