- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何制作Jar包并在android中调用jar包.doc
如何制作Jar包并在android中调用jar包
2013-01-28 10:033110人阅读评论(2)收藏举报
android制作jar包:
新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmanifest.xml和res文件夹,就可以了。否则在调用jar包的时候会出现“Error generating final archive: Found duplicate file for APK: AndroidManifes”这个错误。
如果在android用调用jar包,需要在工程的属性的Java build path中点击Add external JARS(也可以选择Add Library)添加jar包,在程序中调用调用jar包中的函数即可。
添加jar包:(jar在windows下编译了就可用了,不需要交叉编译,这也体现了java一次编译跨平台的特点)
也可以在Java build path中点击Add Library添加jar包(可参考Android中引入第三方Jar包的方法,测试可行(/android/548.html))
在程序中调用jar包中的方法 (本文中 小写的hello是包名,大写的Hello类名,test是方法):
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
制作可执行的的jar包需要添加MANIFEST.MF。不需要执行的jar包,不需要MANIFEST.MF,只需要把用的class文件打包就可以了。 (jar cvf a.jar hello.class hello2.class)
制作可执行的的jar包,注意MANIFEST.MF ,M(必须大写)ain-C(必须大写)lass:(必须有个空格)包名.类名(必须回车),必须回车,
否则运行jar包(java -jar a.jar)时候会出现 Fail to load main-class manifest attribute from a.jar 这个错误。
-----------------------------------------------------------------------------------------------------------------------------------
其他文档:
jar包中资源问题总结(/yy4040/article/details/6641688)
之前提出来一个问题,参见
/u14/ad71749c-631b-4fef-950d-92d5d6983628.html
分析结果如下:
1、jar被包含进其他项目后,最终生成的apk文件中包含jar中的资源(目录结构也是一样的),这个可以通过zip打开jar和apk查看。
2、jar中的资源应该也是被jvm管理起来的,但是由于其实际id与原始jar项目中产生的id不一致,导致使用原始jar项目中的资源id不能访问到实际资源。只能通过getClass().getClassLoader().getResourceAsStream()的方式进行访问。
对于使用jar方式进行组件开发,有以下需要注意:
1. jar包中一般只包含代码不包含资源。
2. 如果要在jar中包含资源,则资源文件不应该放在默认的res目录下(因为导入其他项目后可能出现重名冲突),应该在package目录下创建专用的资源目录,如此通过pakcage的不重名来确保导入后资源不冲突。同时,jar中代码不能直接使用R类中资源id进行访问,应该通过getClass().getClassLoader().getResourceAsStream()进行加载。
3. 字付串资源可以定义成常量的方式来使用。
Android下编译自己的库文件jar并在应用中调用
(转自/gaogaf/item/cef2285e2372bb444fff2046)
主要为了解决如下问题:项目中使用了Android未公开的API,在Eclipse下会有红叉显示。不同的项目抽出相同部分的代码共用。
您可能关注的文档
- 头痛吃什么好呢.ppt
- 头肩底双底.doc
- 奈 瑟 菌 属(Neisseria).ppt
- 奔流不息的大河却恰恰.ppt
- 奥尔滨真假对比.doc
- 奥斯维辛说课.ppt
- 女人如玉.doc
- 女人怕冷.docx
- 女人毛病.doc
- 女性事业智慧 刘一秒.doc
- 大学生社会实践活动个人总结.pptx
- 齐桓晋文之事(教师中心稿)教案教学设计.pptx
- 体育教师教学工作个人总结.pptx
- Unit 2 Topic 2【速记清单】-2023-2024学年九年级英语上册(原卷版).pdf
- Unit 4 Topic 1【速记清单】-2023-2024学年九年级英语上册(原卷版).pdf
- 提优精练07-2023-2024学年九年级英语上学期完形填空与阅读理解提优精练(原卷版).pdf
- Unit 2 Topic 2【速记清单】-2023-2024学年九年级英语上册(教师版).pdf
- Unit 7 【A卷(基础训练)】-2023-2024学年七年级英语上册单元速记-巧练(人教版).pdf
- Unit 8 【速记清单】-2023-2024学年七年级英语上册单元速记-巧练(人教版)( 原卷版).pdf
- 第四单元【单元检测】(B卷-能力提升练)-2023-2024学年七年级语文上册单元速记·巧练(统编版)(解析版).pdf
文档评论(0)