Android 源码apk导入多个第三方jar包

来源:互联网 发布:淘宝优惠卷的坑 编辑:程序博客网 时间:2024/06/05 00:12

转载地址:http://blog.csdn.net/fangchongbory/article/details/7592889


今天遇到一个问题,需要在工程目录下导入两个第三方jar包。

大家都知道,在eclipse里导入jar包是通过右键工程目录选择Add Library,选择jar包所在目录,然后导入。但是在源码目录package/app/下编译应用,该如何导入呢?

其实实现起来也挺简单,需要修改一下Android.mk文件

 

代码如下:

 

[python] view plaincopyprint?
  1. LOCAL_PATH:= $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4.   
  5. LOCAL_MODULE_TAGS := optional  
  6.   
  7. #libname这个名字可以自己定  
  8. LOCAL_STATIC_JAVA_LIBRARIES := libname   
  9.   
  10. LOCAL_SRC_FILES := $(call all-java-files-under, src)  
  11.   
  12. LOCAL_PACKAGE_NAME := EnglishLearn  
  13.   
  14. LOCAL_CERTIFICATE := platform  
  15.   
  16. include $(BUILD_PACKAGE)  
  17.   
  18. include $(CLEAR_VARS)  
  19.   
  20. LOCAL_MODULE_TAGS := optional  
  21.   
  22. #libname必须与上面自己定义的名称一致,needimport.jar是你需要导入的第三方jar包  
  23. LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libname:lib/needimport.jar  
  24.   
  25. include $(BUILD_MULTI_PREBUILT)  


今天遇到一个问题,需要导入多个jar包,那么,该如何写Android.mk文件呢。

尝试了几种方法,都编译不过。想了下,应该跟makefile编程语法有关,下面是编译成功的Android.mk

[python] view plaincopyprint?
  1. LOCAL_PATH:= $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4.   
  5. LOCAL_MODULE_TAGS := optional  
  6.   
  7. #libname这个名字可以自己定。注意这里的修改!!加了libname2  
  8. LOCAL_STATIC_JAVA_LIBRARIES := libname \  
  9. libname2  
  10.   
  11. LOCAL_SRC_FILES := $(call all-java-files-under, src)  
  12.   
  13. LOCAL_PACKAGE_NAME := EnglishLearn  
  14.   
  15. LOCAL_CERTIFICATE := platform  
  16.   
  17. include $(BUILD_PACKAGE)  
  18.   
  19. include $(CLEAR_VARS)  
  20.   
  21. LOCAL_MODULE_TAGS := optional  
  22.   
  23. #libname必须与上面自己定义的名称一致,needimport.jar是你需要导入的第三方jar包.注意这里的修改!!  
  24. #加了libname2:lib/needimport2.jar  
  25. LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libname:lib/needimport.jar \  
  26. libname2:lib/needimport2.jar  
  27.   
  28. include $(BUILD_MULTI_PREBUILT)  

如果需要添加多个第三方jar包,只需要在原来的赋值语句中敲空格,加“\”号回车,在第二行加入需要导入的包。


补充一下:LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libname:lib/needimport.jar 


lib 是当前app跟目录下放jar的目录名

 

0 0