安卓插件开发框架 CJFrameForAndroid

Apache
Java
Android
2014-10-13
kymjs张涛

CJFrameForAndroid 是一个实现android插件化开发的框架。使用CJFrameForAndroid,apk动态加载不再是难题,更重要的是可以轻松实现插件与APP项目之间的解耦。

原理描述

CJFrameForAndroid的实现原理是通过类加载器,动态加载存在于SD卡上的apk包中的Activity。通过使用一个托管所,插件Activity全部事务(包括声明周期与交互事件)将交由托管所来处理,间接实现插件的运行。
一句话描述:CJFrameForAndroid中的托管所,复制了插件中的Activity,来替代插件中的Activity与用户交互。

框架使用

●使用 CJFrameForAndroid 插件开发框架需要在你项目的AndroidManifest.xml文件中加入托管所的声明。

<activity android:name="org.kymjs.aframe.plugin.CJProxy" />

●让插件应用中的Activity继承CJActivity,并且一切使用this调用的方法都使用that替代。例如this.setContentView();需要改为that.setContentView();
●插件中涉及到的Android权限,须在APP项目清单中具有声明。
●插件Activity跳转时,推荐使用CJActivityUtils类来辅助跳转。若一定要startActivity或 startActivityForResult,在跳转过程中的Intent不能自己new,必须使用 CJActivityUtils.getPluginIntent();
●在插件和APP两个工程中不能引用相同的jar包。解决办法是:在插件工程的项目中添加一个/cjlibs的文件夹,将需要调用的jar包放到这个文件夹中,并在插件项目目录下的.classpath中加入如下语句,系统会自动处理相关细节

<classpathentry kind="lib" path="cjlibs"/>
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Android插件化开发,初入殿堂

好久没有写博客了,这次准备写写我这几天的研究成果——Android插件化开发框架CJFrameForAndroid。 好久没有写博客了,这次准备写写我这几天的研究成果——Android插件化开发框架CJFrameForA...

2015/07/28 22:26
47
0
Android插件化开发,初入殿堂

好久没有写博客了,这次准备写写我这几天的研究成果——Android插件化开发框架CJFrameForAndroid。

2014/10/12 13:24
13.2K
8
Android 插件化总结

1.Android中插件开发篇总结和概述 2.Android组件化和插件化开发 3.携程Android App插件化和动态加载实践 4.Atlas:手淘Native容器化框架和思考 5.Android组件化开发实践 6.Android插件化从入...

2017/02/06 15:24
44
0
Android插件化开发---运行未安装apk中的Service

欢迎各位加入我的Android开发群[257053751] 如果你还不知道什么叫插件化开发,那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从整体角度分析了一下Andro...

2015/07/28 22:26
38
0
Android插件化开发,运行未安装apk中的Service

Android插件化开发---运行未安装apk中的Service

2014/10/15 22:20
6.2K
5
Android 插件化的过去-现在-未来

本文原创,转载请以链接形式注明地址:http://kymjs.com/code/2016/05/04/01 第一篇文章,作为序文,并没有什么实质性内容,仅仅是一些八卦和历史,重效率的朋友可以选择直接跳过。...

2016/05/05 10:00
1K
2

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部