android項(xiàng)目開(kāi)發(fā)時(shí)會(huì)用到第三方提供的jar包,通常情況下按照eclipse導(dǎo)入jar包的方法(選擇項(xiàng)目,右鍵點(diǎn)擊Build Path,Build Path–>Add Libraries–>User Library–>Next–>User Libraries–>New–>Add JARs,選擇第三方的jar包),就可以將jar包導(dǎo)入到項(xiàng)目。
根據(jù)這樣的打包方式時(shí),eclipse導(dǎo)入jar包后,eclipse編譯器也能識(shí)別,即項(xiàng)目不會(huì)因?yàn)槿鄙賘ar包而報(bào)錯(cuò),但是運(yùn)行android程序的時(shí)候卻沒(méi)有找到包而報(bào)錯(cuò)了。APK文件也很小,也就是jar包并沒(méi)有打包到APK文件中。
在android項(xiàng)目中找到.classpath文件并打開(kāi),文件代碼如下:
view plaincopy to clipboardprint?<?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>
發(fā)現(xiàn)eclipse導(dǎo)入包操作后,寫(xiě)入了這行代碼
<classpathentry kind=”con” path=”org.eclipse.jdt.USER_LIBRARY/box2d”/>
這行代碼應(yīng)該是eclipse內(nèi)部識(shí)別的,并不會(huì)打包到模擬器上,所以運(yùn)行到模擬器上找不到相應(yīng)的jar包。
為了在android內(nèi)部能找到j(luò)ar包,于是在android項(xiàng)目?jī)?nèi)新建一個(gè)lib文件夾,將jar包放在lib文件夾內(nèi)。
并將上面的那行代碼刪除,添加一行代碼:
<classpathentry kind=”lib” path=”lib/jbox2d-2.0.1-full.jar”/>
jbox2d-2.0.1-full.jar是lib文件下的jar包,可添加多個(gè)jar包。
即最終修改代碼為:
view plaincopy to clipboardprint?<?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項(xiàng)目,會(huì)發(fā)現(xiàn)項(xiàng)目bin目錄的APK文件大小增大,說(shuō)明APK文件已經(jīng)包含jar包文件,重新clean項(xiàng)目并運(yùn)行即可。