在Android源码中编译出指定jar包的操作
今天想把android源码/vendor/letv/frameworks/base/java下的源码编译成 framework-letv.jar供乐乐语音客户端使用,编译完后,发现jar包文件虽然生成了,但包里面并没有相关的源码class文件,无法正常使用。
经过请教加研究发现,Android.mk文件需要添加选项如下:
54 LOCAL_JACK_ENABLED := disabled # important! 55 #include $(BUILD_JAVA_LIBRARY) 56 include $(BUILD_STATIC_JAVA_LIBRARY) #编译jar包
最终生成了javalib.jar,改名为 framework-letv.jar即可。注意:如果没有指定LACAL_JACK_ENABLED选项,则默认是enabled,将会生成classes.jack文件,不会产生classes.jar包!
另外补充点:在某一应用程序中有时候需要引用第三方jar包,那么怎么才能在编译app的时候把该jar包引入进入呢?
在该app下的Android.mk文件中添加如下语句:
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) ################################################################
添加jar包,关键在 LOCAL_STATIC_JAVA_LIBRARIES := libarity 和 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libarity:lily.jar 这两句。
libarity为jar包的别名,可以随便取,只要与下面相对应就行。但是后面冒号后面的那个jar包名字就必须写你需要引入的jar包名字。
jar包应该放在工程的根目录下,也就是与你要编译的app的src,res,Android.mk文件同级的目录。
以上这篇在Android源码中编译出指定jar包的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Android之RecycleView实现指定范围的拖动效果
这篇文章主要介绍了Android之RecycleView实现指定范围的拖动效果的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07
Android Jetpack组件DataBinding详解
这篇文章主要介绍了Android Jetpack组件DataBinding,DataBinding有很多优势,其中最明显是代码更加简洁,可读性会更高。部分和UI控件有关的代码可以在布局文件当中完成,本文给大家详细讲解,需要的朋友可以参考下2022-10-10
Android框架Volley之利用Imageloader和NetWorkImageView加载图片的方法
这篇文章主要介绍了Android框架Volley之利用Imageloader和NetWorkImageView加载图片的实现方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下2019-05-05
解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解
本篇文章是对Fedora14下eclipse进行android开发,ibus提示没有输入窗口的解决方法进行了详细的分析介绍,需要的朋友参考下2013-05-05


最新评论