在网易云阅读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文件

     以上遇到的问题还望大家能够指点一下~

     最后还是希望大家能够仔细阅读下面的参考博文中的内容~

     参考博文



 




Android Application plugin的更多相关文章

  1. Failed to apply plugin [id 'com.android.application'] 和 Could not find com.android.tools.build:gradle:2.XX的最正确的解决方法

    发现android studio是真的可爱啊,上一秒还没问题可以build运行,下一秒就出错...好,你任性,你牛逼.. 说下今天又遇到的两个问题:Failed to apply plugin [id ...

  2. Plugin with id 'com.android.application' not found.

    构建报错: Error:(1, 0) Plugin with id 'com.android.application' not found. <a href="openFile&quo ...

  3. AS导入项目报错:Plugin with id 'com.android.application' not found.

    从github或第三方Demo中获取的项目导入到AndroidStudio中报错Plugin with id 'com.android.application' not found.:今天导入一个讯飞 ...

  4. android 编译错误 Error:(1, 0) Plugin with id 'com.android.application' not found.

    在导入一个项目时,由于它本身的gradle版本比较高,你试用比较旧版本的gradle时就报出Plugin with id 'com.android.application' not found.的错误 ...

  5. Error:(1, 0) Plugin with id 'com.android.application' not found

    Error:(1, 0) Plugin with id 'com.Android.application' not found.Open File 这个错误是build.gradle造成的,我们打开文 ...

  6. android studio - 导入工程报错[Plugin with id 'com.android.application' not found]

    出错现象: 大概意思是找不到:com.android.application 插件,以上现象对于初学者来说会经常碰到,下面分析下产生的原因. 原因分析 首先来看看导入后的工程结构: 对于此工程结构,是 ...

  7. The android gradle plugin version 2.3.0-beta2 is too old, please update to the latest version.

    编译项目的时候,报如下错误: Error:(, ) A problem occurred evaluating project ':app'. > Failed to apply plugin ...

  8. Android Application的Gradle说明

    //引入插件 apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion &quo ...

  9. Gradle之Android Gradle Plugin 主要 Task 分析(三)

    [Android 修炼手册]Gradle 篇 -- Android Gradle Plugin 主要 Task 分析 预备知识 理解 gradle 的基本开发 了解 gradle task 和 plu ...

随机推荐

  1. 源代码编译lamp环境

    没有办法用 rpm查询一个源代码包是否安装 因为 并不是用rpm安装的 可以先吧 selinux 给禁用掉  iptables -F 把防火墙规则全部删除 首先确保 gcc  gcc-c++   ma ...

  2. Nginx设置alias实现虚拟目录 alias与root的用法区别

    Nginx 貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的.如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较"像",干脆来说说alias ...

  3. AngularJs 父子级Controller传递数据

    <div ng-controller="MyAccountCtrl"> <div ng-controller="TransferCtrl"&g ...

  4. 安装logstash,elasticsearch,kibana三件套(转)

    logstash,elasticsearch,kibana三件套 elk是指logstash,elasticsearch,kibana三件套,这三件套可以组成日志分析和监控工具 注意: 关于安装文档, ...

  5. 百度搜索结果页url参数详解

    在百度首页输入任意关键词搜索之后,我们跳转到搜索结果页面,在浏览器的网址栏我们可以看到很长的一串url地址.那么,你真的了解这一串url的含义吗? s?:搜索 百度搜索结果页使用了重定向,因此我们看到 ...

  6. hive编程指南--employees表数据定义

    hive编程指南中有个employees表,默认的分隔符比較繁杂,编辑起来不太方便(普通编辑器编辑的控制字符^A等被当成字符串处理了,没有起到分隔符的作用). 收集的解决方式例如以下: http:// ...

  7. HNCU1100:彩票

    http://hncu.acmclub.com/index.php?app=problem_title&id=111&problem_id=1100 题目描述 有一种彩票的玩法是从1~ ...

  8. hdu 1028 母函数 一个数有几种相加方式

    ///hdu 1028 母函数 一个数有几种相加方式 #include<stdio.h> #include<string.h> #include<iostream> ...

  9. ORACLE—005:创建JOB(二)

    假设须要创建带參数的job,怎样创建呢. 我们直接将參数声明.并赋值.然后传给job调用的存储过程就可以. 比如.存储过程名为Pro_Test_JOB,參数共同拥有一个.是VARCHAR2类型. 创建 ...

  10. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...