android & linux编译相关 &工具
文章平均质量分 67
kc专栏
深入探索android Framework层代码,博客持续更新中!!!
展开
-
android用符号表定位问题
有时候我们出现的软重启问题,只有段错误,只给你一个错误地址,没有具体信息,像这种问题我们应该怎么分析呢:我们先举个例子:03-15 10:53:31.636419 8989 8989 F DEBUG : pid: 11028, tid: 11046, name: android.bg >>> system_server <<<03-15 10:53:31.636470原创 2016-03-27 13:39:32 · 6291 阅读 · 0 评论 -
Android.mk简介
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。 一、Android.mk文件的用途 一个android子项目中会存在一个或多个Android.mk文件 1、单一的Android.mk文件 直接参考NDK转载 2015-07-16 16:57:37 · 706 阅读 · 0 评论 -
Android.mk编译目标(编译包、二进制文件、预编译)
1.常用我们经常使用Android.mk来编译一个apk,jar包等。BUILD_PACKAGE(既可以编apk,也可以编资源包文件,但是需要指定LOCAL_EXPORT_PACKAGE_RESOURCES:=true)BUILD_JAVA_LIBRARY(java共享库)BUILD_STATIC_JAVA_LIBRARY(java静态库)BUILD_EXECUTABLE(执行原创 2016-05-19 09:54:18 · 8714 阅读 · 0 评论 -
android编译做cmcc分支宏
做cmcc分支,我们需要将heathd的唤醒间隔设置短一点,但是又在一个主分支上着就需要做宏。具体我们可以编译的时候带参数:make BUILD_MASS_PRODUCTION=false后面参数的意思就是不是量产分支,这样我们就认为是cmcc分支。一、局部修改我们的第一反应可以在heathd的Android.mk中修改如下:ifeq ($(strip $(BUIL原创 2016-02-26 11:06:15 · 1194 阅读 · 0 评论 -
git使用
git配置git config --global user.name "zhangsan"git config --global user.email zhangsan@xxx.com概念解释工作区 工作代码暂存区 本地缓存版本库 本地库git log git log [<options>] [<since>..<until...原创 2016-07-22 14:14:33 · 780 阅读 · 0 评论 -
将三方apk放到固定目录
在Android系统中想要把apk文件放到固定目录中,有两个方法1. 使用PRODUCT_COPY_FILES变量在Android.mk,使用如下PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/NotePadPlus.apk:system/third_app但是会出现如下错误build 时想要copy apk,但是出现下面...原创 2019-01-22 15:09:14 · 2157 阅读 · 0 评论 -
android 解压/压缩image文件
先来看看解包脚本unpack.sh, 解压后文件在...._tmp目录中IMAGE_NAME=$1gunzip -c -S .img ${IMAGE_NAME}.img > ${IMAGE_NAME}_srcrm -rf ${IMAGE_NAME}_tmpmkdir ${IMAGE_NAME}_tmp && cd ${IMAGE_NAME}_tmp && cpio -i -F ../$原创 2016-03-29 16:24:34 · 3222 阅读 · 0 评论 -
Android 7.0工程之预编译jack服务器
转载地址:http://blog.csdn.net/tree_in_sea/article/details/548950471.Android 7.0工程的环境需要加载openJDK 8 ,虽然上篇文档已经描述了openjdk-8的安装方法,但通常和很多ubuntu主机的Jack -server是没有和Android7.0的工程Jack -server相互交互的,Android的工程会转载 2017-05-18 15:06:15 · 5785 阅读 · 0 评论 -
Android——编译体系中的【PRODUCT_COPY_FILES】【ALL_PREBUILT】【BUILD_PREBUILT】
转载地址:http://blog.csdn.net/jscese/article/details/40615801一.PRODUCT_COPY_FILES :这个变量就是用来标记Copy操作的,比较常见的形式如下:#jscese cp 3g script and PRODUCT_COPY_FILES += \ $(DEVICE_SOURCES)/3g-script/i转载 2017-04-27 16:32:23 · 4223 阅读 · 0 评论 -
Android.mk 简介(二)
Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析过程中定义。Android.mk文件语法允许我们将Source打包成一个"module转载 2015-11-12 10:48:41 · 712 阅读 · 0 评论 -
Android.mk 小细节(LOCAL_CFLAGS 、BUILD_PREBUILT)
一、LOCAL_CFLAGSLOCAL_CFLAGS-D,增加全局宏定义。LOCAL_CFLAGS := -DUSE_JSC相当于在所有源文件中增加一个#define USE_JSCLOCAL_CFLAGS := -DUSE_COPY_BIT=1相当于在所有源文件中增加一个#define USE_COPY_BIT 1还有其它的像-W等,都是传递给编译使用的。比如:LOC原创 2015-11-12 11:11:00 · 14496 阅读 · 0 评论 -
android代码上库流程
git branch (切分支) git diff -> (对比差别)git pull(将本地代码更新)->already up to date 最新代码状态git status -> 看有哪些文件有更改git add -> 将更改文件加入本地库git status -> 加入本地库后代码状态git commit -m “内容”原创 2016-03-27 11:11:23 · 1110 阅读 · 0 评论 -
vim 实用命令 将vim置于后台
我们经常需要实用vim,查看代码,然后又要去查看另一个代码,就要切出去到另外一个目录。如果把这个vim关闭,再去开一个就会显得很麻烦。这里介绍一个很实用的方法:1.将vim置于后台,直接按 ctrl + z可以将当前的vim置于后台2.然后可以去别的目录再打开一个当你需要打开之前的vim的时候3.打jobs命令看当前有哪些vim在后台原创 2016-02-01 10:04:42 · 13731 阅读 · 0 评论 -
android 使用git打补丁
使用git打patch有两种方式:一、使用git diff1、git diff > patch_001.patch这样利用文件的差异就直接生成了一个patch2、解patch(在同一目录下)git apply patch_001.patch二、使用git format-patch打补丁步骤:1、先到目录下git status看下差异的文件2、把需要打补丁原创 2015-06-25 08:54:12 · 1353 阅读 · 0 评论 -
代码Overlay机制
代码Overlay机制 代码overlay机制意思是,将我们在Android原生代码上修改过的文件,单独放在一个目录下,而在编译代码的时候就会去检测这个目录下的文件,如果这个目录下的文件与原生有相同的文件,那么就将这个文件放入编译的源文件中,而将原生相同文件名的文件从编译的源文件中去除。 这样做有什么好处呢,比如我们和客户合作,在我们自己的代码上加了某一个功能,原创 2015-12-18 15:02:56 · 7177 阅读 · 2 评论 -
Android 资源文件的编译
1、将资源放入 frameworks/base/core/res/res/ 中的相应目录,假设要添加的资源是 drawable 类型,文件名为 test(后缀可能为xml或者png等等),则将文件放入 frameworks/base/core/res/res/drawable*/ 下。2、仿照已有的同类型系统资源修改 framework/base/core/res/res/values转载 2015-12-04 14:37:38 · 798 阅读 · 0 评论 -
apk 反编译源码 资源文件
一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip(2015-10-10更新--转载 2015-11-20 16:49:34 · 980 阅读 · 0 评论 -
Android环境配置
随着互联网的迅速发展,前端的概念已发生很大的变化,已不仅仅局限在网页端。而Android系统作为智能机市场的老大,作为前端开发工程师,非常有必要了解和学习。但面对众多学习资料,站在前端开发工程师的角色,怎样挑选出合适的路进行快速学习,而不必浪费大量时间去摸索,该系列文章希望能帮助到小伙伴们。文章会挑选几个实际的例子,贯穿在整个系列中,涉及到Java、Android、程序设计等多方面知识转载 2015-11-04 15:09:19 · 573 阅读 · 0 评论 -
Android.mk中LOCAL_MODULE_TAGS的作用
LOCAL_MODULE_TAGS :=user eng tests optional user: 指该模块只在user版本下才编译 eng: 指该模块只在eng版本下才编译 tests: 指该模块只在tests版本下才编译optional:指该模块在所有版本下都编译原创 2016-05-19 10:02:13 · 2563 阅读 · 0 评论 -
Android.mk 参数函数查询
build/core/base_rules.mkbase_rules.mk里定义了生成某种目标的方式目标类型:主机上的可执行程序,设备上的可执行程序,apk程序,Java运行库,动态链接库等等Android编译系统里每一种目标的生成方式对应一个makefile,示例:如果某个模块需要编译成手机上的二进制程序,它需要include $(BUILD_EXECUTABLE转载 2015-06-11 16:04:16 · 9465 阅读 · 1 评论