CJFrameForAndroid 安卓插件开发框架

程序名称:CJFrameForAndroid

授权协议: Apache

操作系统: Android

开发语言: Java

CJFrameForAndroid 介绍

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"/>

CJFrameForAndroid 官网

http://git.oschina.net/kymjs/CJFrameForAndroid

相关编程语言

BBGestureBack Full screen return gesture(全屏手...
Framework7 或者叫 F7 是全功能的绑定 iOS 7 应用的...
iOS 调试库,支持 iOS8+,无需添加任何代码,方便 i...
DarkModeKit是在Apple官方的深色模式发布之前设计和...
SimpleNote iOS 版客户端。SimpleNote 是一款在多平...
Kivy iOS,此工具旨在为 iOS 编译必要的库以运行应用...