源码编译,我们可以只留下app的src,res目录和androidmanifest.xml文件,在app的根目录添加一个android.mk文件,还有我们需要导入的jar包,我这里是libjsoup-1.7.1.jar;

1.我们先写好Android.mk文件;

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_STATIC_JAVA_LIBRARIES := libjsoup

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := FileExpert

include $(BUILD_PACKAGE)

##################################################

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libjsoup:libjsoup-1.7.1.jar

include $(BUILD_MULTI_PREBUILT)

include $(call all-makefiles-under,$(LOCAL_PATH))

LOCAL_STATIC_JAVA_LIBRARIES指明我们apk依赖的库,libjsoup是依赖库的别名。

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libjsoup:libjsoup-1.7.1.jar ,  在这里定义了我们上面使用的libjsoup,规则是  “库别名:jar包在app下的路径”,比如这里的libjsoup.jar就是在app的根目录下面;

2.接着  要修改一下user_tags.mk文件;

user_tags.mk有两个 一个在build/core下面(这个是google的),一个在vendor/xxx/product_name下面(这个是方案厂商的),建议修改vendor下的;

向user_tags.mk文件里的GRANDFATHERED_USER_MODULES变量追加libjsoup,加在文件末尾就行了,记住是 +=  而不是 = ;还有libjsoup前面是tab键,不是空格;

# OTA server modules

GRANDFATHERED_USER_MODULES += \

libjsoup

Android.mk文嘉的其它部分就按上面的写好了,只是LOCAL_PACKAGE_NAME := FileExpert要换成你想要的,按照这个编译出来,最后就是FileExpert.apk文件了。

至此,Android.mk文件编辑好,回到Android源码总目录,叫Android-src好了。在Android-src目录下,执行命令:

. build/envsetup.sh

执行这个命令主要是设置一下当前shell的环境变量。

然后a: 在Android-src目录下  make FileExpert

或者b: 进入到你apk的源码目录,如我这里放到Android-src/packages/apps/FileExpert,所以我就到这个目录下执行这个命令

mm TARGET_PRODUCT=product_name

这个TARGET_PRODUCT=product_name随你了,如果你原来编译系统直接用的是make命令,那么这个TARGET_PRODUCT=product_name也可以省下了,直接执行mm就可以了。

编译完后,你就可以去Android-src/out/target/product/product_name/system/app目录下找你的apk文件了。

android源码编译jar,在android源码编译中导入第三方jar包相关推荐

  1. Android中导入第三方jar

    右键工程, Build path, Java build path,选择libraries 在右边的按钮中点击"Add Library" 选择"User library& ...

  2. android eclipse中导入framework.jar以及使用其隐藏类的方法

    想使用开关3G的网络数据 ConnectivityManager cm =(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERV ...

  3. 关于如何正确地在android项目中添加第三方jar包

                  在android项目中添加第三方jar包虽然不是一个很复杂的问题,但是确实给很多开发者带来了不小的困扰.我自己就曾经碰到过calss not found exception ...

  4. Android Studio 在项目中引用第三方jar包

    在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets {main {j ...

  5. Eclipse中导入第三方源码的问题和备用解决方案

    Eclipse中导入第三方源码的问题和备用解决方案 参考文章: (1)Eclipse中导入第三方源码的问题和备用解决方案 (2)https://www.cnblogs.com/fjdingsd/p/4 ...

  6. Android Studio的使用导入第三方Jar包

    目录 Android Studio的使用导入第三方Jar包 Android Studio的使用导入第三方Jar包 sourceSets {main {jniLibs.srcDirs = ['libs' ...

  7. Android导入第三方jar包

    这个和纯JAVA项目有点出入.引入最终要编译成APK.需要连同JAR包一起带进去. 在adt17 的版本之前,导入第三方jar包时要建立一个lib目录,并 add to buiild path. 在a ...

  8. Android Studio中导入第三方库

    之前开发Android都是使用的eclipse,近期因为和外国朋友Timothy一起开发一款应用,他是从WP平台刚切换使用Android的,使用的开发环境时Android Studio,为了便于项目的 ...

  9. cmd库的导入Java,在cmd命令窗口导入第三方jar包来运行java文件

    在cmd命令窗口导入第三方jar包来运行java文件,以下测试都是基于window环境,Linux环境没有测试. 1.编译 使用命令javac -cp或者javac -classpath 本机测试:如 ...

最新文章

  1. 中国剩余定理与扑克游戏
  2. bootstrap datatimepicker 汉化
  3. 类方法classmethod 绑定方法
  4. 搭建Apache Mina框架并实现Server与Client端的简单消息传递
  5. SpringCloud学习2-Springboot监控模块(actuator)
  6. OSPF 提升四 Network Types FRAM-RELAY
  7. java 管程通信_Java多线程07_线程通信之管程法与信号灯法
  8. 计算机网络与通信之物理层中的数据传输
  9. 3D点云数据标注工具推荐
  10. python数据分析的例子_Python数据分析案例—商圈客流量特征分析
  11. 软件系统建模、UML
  12. android手机不能发短信,解决安卓手机发送短信失败的方法
  13. 5、vRealize Operations Manager 报告配置(虚拟化巡检报告)
  14. 微信小程序 长按事件 删除图片
  15. 归宿 - 写给无处安放的内心
  16. 永磁同步电机力矩控制(十一):SVPWM进阶篇
  17. ViewFlipper动态加载View
  18. 如何理解return paddle.reader.xmap_readers(train_mapper,reader,cpu_count(),102400)?
  19. Oracle空闲超时时间设置
  20. 【Linux学习笔记】Linux命令压缩解压文件

热门文章

  1. python threading模块中的timer_threading中定时器Timer方法
  2. pcb成型板aoi检测_通过自动光学检测(AOI)实现PCB高速检测
  3. 海归计算机专业简历怎么写,海归硕士求职简历该怎么写?
  4. Python Machine Learning Windows 安装包网址
  5. JAVA操作属性文件,可进行读 写 更改
  6. Cannot forward after response has been committed问题解决及分析
  7. Java案例:基于TCP的简单聊天程序
  8. 【BZOJ2655】calc,dp+拉格朗日插值法
  9. english 2012020601
  10. sublime 如何使用less_Sublime Text3 使用教程