在Android源码中编译出指定jar包的操作

 更新时间:2020年03月19日 08:27:04   作者:王强博客  
这篇文章主要介绍了在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实现指定范围的拖动效果

    这篇文章主要介绍了Android之RecycleView实现指定范围的拖动效果的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Android Handler机制详解原理

    Android Handler机制详解原理

    Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作
    2021-11-11
  • Android studio删除Android项目方法

    Android studio删除Android项目方法

    在本篇内容里我们给大家介绍的是关于Android studio删除Android项目方法和步骤,需要的可以学习下。
    2018-12-12
  • Android Jetpack组件DataBinding详解

    Android Jetpack组件DataBinding详解

    这篇文章主要介绍了Android Jetpack组件DataBinding,DataBinding有很多优势,其中最明显是代码更加简洁,可读性会更高。部分和UI控件有关的代码可以在布局文件当中完成,本文给大家详细讲解,需要的朋友可以参考下
    2022-10-10
  • Android实现九宫格拼图游戏

    Android实现九宫格拼图游戏

    这篇文章主要为大家详细介绍了Android实现九宫格拼图游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Android自定义View实现圆形加载进度条

    Android自定义View实现圆形加载进度条

    这篇文章主要为大家详细介绍了Android自定义View实现圆形加载进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • TextView中URL等指定特殊字符串与点击事件解析

    TextView中URL等指定特殊字符串与点击事件解析

    这篇文章主要为大家详细介绍了TextView中URL等指定特殊字符串与点击事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Android开发实现的保存图片到相册功能示例

    Android开发实现的保存图片到相册功能示例

    这篇文章主要介绍了Android开发实现的保存图片到相册功能,结合实例形式分析了Android图片命名、保存、权限控制等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • Android框架Volley之利用Imageloader和NetWorkImageView加载图片的方法

    Android框架Volley之利用Imageloader和NetWorkImageView加载图片的方法

    这篇文章主要介绍了Android框架Volley之利用Imageloader和NetWorkImageView加载图片的实现方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • 解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解

    解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解

    本篇文章是对Fedora14下eclipse进行android开发,ibus提示没有输入窗口的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论