本文主要是介绍创建兼容android activity的OSGI bundle,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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
这篇关于创建兼容android activity的OSGI bundle的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!