android 打包第三方jar包

转自: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文件并打开,文件代码如下:

  1.    
  2. xml version="1.0" encoding="UTF-8"?>  
  3. <classpath>  
  4. <classpathentry kind="src" path="src"/>  
  5. <classpathentry kind="src" path="gen"/>  
  6. <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>  
  7. <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/box2d"/>  
  8. <classpathentry kind="output" path="bin"/>  
  9. classpath>  

发现eclipse导入包操作后,写入了这行代码

这行代码应该是eclipse内部识别的,并不会打包到模拟器上,所以运行到模拟器上找不到相应的jar包。

为了在android内部能找到jar包,于是在android项目内新建一个lib文件夹,将jar包放在lib文件夹内。
并将上面的那行代码删除,添加一行代码:

jbox2d-2.0.1-full.jar是lib文件下的jar包,可添加多个jar包。

即最终修改代码为:  

  1. xml version="1.0" encoding="UTF-8"?>  
  2. <classpath>  
  3. <classpathentry kind="src" path="src"/>  
  4. <classpathentry kind="src" path="gen"/>  
  5. <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>  
  6. <classpathentry kind="lib" path="lib/jbox2d-2.0.1-full.jar"/>  
  7. <classpathentry kind="output" path="bin"/>  
  8. classpath>  

最后刷新eclipse项目,会发现项目bin目录的APK文件大小增大,说明APK文件已经包含jar包文件,重新clean项目并运行即可。

你可能感兴趣的:(Android)