android 打包第三方jar包
2014-03-05 18:37
225 查看
转自:http://www.yoyong.com/archives/254
android项目开发时会用到第三方提供的jar包,通常情况下按照eclipse导入jar包的方法(选择项目,右键点击Build Path,Build Path–>Add Libraries–>User Library–>Next–>User Libraries–>New–>Add JARs,选择第三方的jar包),就可以将jar包导入到项目。
根据这样的打包方式时,eclipse导入jar包后,eclipse编译器也能识别,即项目不会因为缺少jar包而报错,但是运行android程序的时候却没有找到包而报错了。APK文件也很小,也就是jar包并没有打包到APK文件中。
在android项目中找到.classpath文件并打开,文件代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/box2d"/>
<classpathentry kind="output" path="bin"/>
</classpath>
发现eclipse导入包操作后,写入了这行代码
<classpathentry kind=”con” path=”org.eclipse.jdt.USER_LIBRARY/box2d”/>
这行代码应该是eclipse内部识别的,并不会打包到模拟器上,所以运行到模拟器上找不到相应的jar包。
为了在android内部能找到jar包,于是在android项目内新建一个lib文件夹,将jar包放在lib文件夹内。
并将上面的那行代码删除,添加一行代码:
<classpathentry kind=”lib” path=”lib/jbox2d-2.0.1-full.jar”/>
jbox2d-2.0.1-full.jar是lib文件下的jar包,可添加多个jar包。
即最终修改代码为:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="lib/jbox2d-2.0.1-full.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
最后刷新eclipse项目,会发现项目bin目录的APK文件大小增大,说明APK文件已经包含jar包文件,重新clean项目并运行即可。
android项目开发时会用到第三方提供的jar包,通常情况下按照eclipse导入jar包的方法(选择项目,右键点击Build Path,Build Path–>Add Libraries–>User Library–>Next–>User Libraries–>New–>Add JARs,选择第三方的jar包),就可以将jar包导入到项目。
根据这样的打包方式时,eclipse导入jar包后,eclipse编译器也能识别,即项目不会因为缺少jar包而报错,但是运行android程序的时候却没有找到包而报错了。APK文件也很小,也就是jar包并没有打包到APK文件中。
在android项目中找到.classpath文件并打开,文件代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/box2d"/>
<classpathentry kind="output" path="bin"/>
</classpath>
发现eclipse导入包操作后,写入了这行代码
<classpathentry kind=”con” path=”org.eclipse.jdt.USER_LIBRARY/box2d”/>
这行代码应该是eclipse内部识别的,并不会打包到模拟器上,所以运行到模拟器上找不到相应的jar包。
为了在android内部能找到jar包,于是在android项目内新建一个lib文件夹,将jar包放在lib文件夹内。
并将上面的那行代码删除,添加一行代码:
<classpathentry kind=”lib” path=”lib/jbox2d-2.0.1-full.jar”/>
jbox2d-2.0.1-full.jar是lib文件下的jar包,可添加多个jar包。
即最终修改代码为:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="lib/jbox2d-2.0.1-full.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
最后刷新eclipse项目,会发现项目bin目录的APK文件大小增大,说明APK文件已经包含jar包文件,重新clean项目并运行即可。
相关文章推荐
- Android消息推送
- android listView 中的间隔线的颜色改变
- android手势操作滑动效果触摸屏事件处理
- Android之仿iphone抖动效果
- Android开发之性能优化(2)
- Android之代码创建布局
- Android系统如何实现UI的自适应
- Android内存管理机制
- android学习笔记:java中的内存分配
- Android恶意软件遍布 Google Play很安全
- android学习笔记:AndroidRuntime: java.lang.IllegalStateException: The content of the adapter has change
- android signal 处理总结
- android 调试手段
- android router
- Android常见绕过屏锁小技巧汇总
- Android调试工具
- 安卓错误E/AndroidRuntime(2726): java.lang.NullPointerException的问题解决
- android API 文档
- Android自学资料整理
- Android Adapter浅谈