创建兼容android activity的OSGI bundle
2014-05-18 22:47
232 查看
1.正常创建一个android 应用
2. 将OSGI 框架所在的主应用项目设置为该bundle的引用项目。在eclipse上进入build path->configure build path->projects进行设置。
3. 创建生成manifest.mf. 可使用eclipse的bndtools 插件或其原始版本bnd.jar来自动生成该文件(bndtools貌似有bug, 我用它无法生成正确的manifest.mf和jar包,但bnd.jar可以。我用的命令行是:java -jar bnd-2.1.0.jar buildx --classpath bin --eclipse --output test.jar bnd.bnd)。
4. 进入android tools->Export unsigned Android package导出未签名的android APK文件
5. 使用任意zip工具,比如7zip打开apk, 新建一个folder: META-INF,并且将生成的manifest.mf拷贝到这个folder
6. 将工程产生的java class文件拷入apk的根目录下
7. 使用java 签名工具对APK文件进行签名
jarsigner -verbose -keystore /path_to_keystore/mykeystore.keystore my_application.apk my_keystore_alias.
8. 在emulator 或device上安装该apk,OSGI framework 安装启动该bundle。
Tips:
如果在运行bndtool工具时发现no workspace found 错误,这是因为不存在cnf项目引起的。cnf项目必须跟需要操作的项目位于同一父亲目录下。
参考:http://stackoverflow.com/questions/19922775/android-activity-in-osgi-bundle/23722876#23722876
2. 将OSGI 框架所在的主应用项目设置为该bundle的引用项目。在eclipse上进入build path->configure build path->projects进行设置。
3. 创建生成manifest.mf. 可使用eclipse的bndtools 插件或其原始版本bnd.jar来自动生成该文件(bndtools貌似有bug, 我用它无法生成正确的manifest.mf和jar包,但bnd.jar可以。我用的命令行是:java -jar bnd-2.1.0.jar buildx --classpath bin --eclipse --output test.jar bnd.bnd)。
4. 进入android tools->Export unsigned Android package导出未签名的android APK文件
5. 使用任意zip工具,比如7zip打开apk, 新建一个folder: META-INF,并且将生成的manifest.mf拷贝到这个folder
6. 将工程产生的java class文件拷入apk的根目录下
7. 使用java 签名工具对APK文件进行签名
jarsigner -verbose -keystore /path_to_keystore/mykeystore.keystore my_application.apk my_keystore_alias.
8. 在emulator 或device上安装该apk,OSGI framework 安装启动该bundle。
Tips:
如果在运行bndtool工具时发现no workspace found 错误,这是因为不存在cnf项目引起的。cnf项目必须跟需要操作的项目位于同一父亲目录下。
参考:http://stackoverflow.com/questions/19922775/android-activity-in-osgi-bundle/23722876#23722876
相关文章推荐
- Android结合ButterKnife创建自己的BaseActivity(兼容6.0)
- Android结合ButterKnife创建自己的BaseActivity(兼容6.0)
- Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用!
- Android判断网络状态是否断开+Android完全关闭应用程序+ 本文讲述了Android中不同Activity之间的数据传递 — Bundle对象的实现(-)+Android中Bundle的使用示例
- Android成长之路-关于bundle实现两个activity之间的数据传递
- android完美退出程序(创建单例管理所有打开的activity)
- 利用maven创建spring-osgi powered 多bundle工程
- 主题:利用Bundle实现Android Activity间消息的传递
- android开发创建Activity时会把标题栏去掉
- 利用Bundle实现Android Activity间消息的传递
- Android 之ActivityThead、ActivityManagerService 与activity的管理和创建
- Android Fragment---给Activity创建事件回调
- 【Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用】的改进!
- 【转】利用Bundle实现Android Activity间消息的传递
- Android 创建 透明Activity
- Android成长之路-关于bundle实现两个activity之间的数据传递
- Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用!
- Android 之ActivityThead、ActivityManagerService 与activity的管理和创建
- Android利用Bundle实现Activity间消息的传递
- Android Fragment---给Activity创建事件回调