今天想把android源码/vendor/letv/frameworks/base/java下的源码编译成 framework-letv.jar供乐乐语音客户端使用,编译完后,发现jar包文件虽然生成了,但包里面并没有相关的源码class文件,无法正常使用。经过请教加研究发现,Android.mk文件需要添加选项如下:

--------------------------------start------------------------------------

54 LOCAL_JACK_ENABLED := disabled # important!
  55 #include $(BUILD_JAVA_LIBRARY)

56 include $(BUILD_STATIC_JAVA_LIBRARY) #编译jar包

---------------------------------end---------------------------------------

最终生成了javalib.jar,改名为 framework-letv.jar即可。注意:如果没有指定LACAL_JACK_ENABLED选项,则默认是enabled,将会生成classes.jack文件,不会产生classes.jar包!

另外补充点:在某一应用程序中有时候需要引用第三方jar包,那么怎么才能在编译app的时候把该jar包引入进入呢?

在该app下的Android.mk文件中添加如下语句:
--------------------------------start------------------------------------
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := user eng
########################################
LOCAL_STATIC_JAVA_LIBRARIES := lib3party //定义引用名
########################################
....
include $(BUILD_PACKAGE)
###############################################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := lib3part:libs/3part.jar //引用名:jar包名
include $(BUILD_MULTI_PREBUILT)
################################################################
---------------------------------end--------------------------------------- 添加jar包,关键在 LOCAL_STATIC_JAVA_LIBRARIES := libarity 和 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libarity:lily.jar 这两句。
libarity为jar包的别名,可以随便取,只要与下面相对应就行。但是后面冒号后面的那个jar包名字就必须写你需要引入的jar包名字。jar包应该放在工程的根目录下,也就是与你要编译的app的src,res,Android.mk文件同级的目录。

最新文章

  1. TypeError: coercing to Unicode: need string or buffer, ChatRoom found
  2. 5.1 stack,queue以及priority_queue
  3. 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(二)
  4. 分部类(partial)
  5. PowerDesigner-制作Word导出模版
  6. echo换行的蛋疼事
  7. android的休眠和唤醒流程
  8. 576. Out of Boundary Paths
  9. 博弈论(Game Theory) - 02 - 前传之重复剔除严格劣战略的占优战略均衡
  10. Java微信公众平台开发之扫码支付模式一
  11. 201521123103 《Java学习笔记》 第十一周学习总结
  12. SSH/HTTPS安全的本质都依赖于TLS/SSL
  13. C#数据类型和SQL数据类型对照
  14. Mysql内置的profiling性能分析工具
  15. Ubuntu18.04更换国内源
  16. Mysql 函数使用记录(一)——DATEDIFF、CONCAT
  17. Redis模块开发示例
  18. js 动态声明变量(eval)
  19. OAuth2.0网页授权 提示未关注该测试号
  20. laravel配置路由出现404

热门文章

  1. vuex的简单例子和vue model组件
  2. C#中的反射总结
  3. Struts2——(2)配置文件、通配符
  4. CUDA流(Stream)
  5. WPF 从程序集中检索图片资源stream给Image控件使用
  6. VAssist 使用技巧(函数声明定位,比VS的还要强大)
  7. hdu 3966 树链分割第一3遍
  8. 性能测试以及对redis
  9. 简明Python3教程 1.翻译
  10. WPF-3D动效-文字球形环绕