从运行make -f config,mk文件開始,config,mk作为当前的makefile文件.将会被make解析,一般make解析Makefile文件流程首先是载入当中include的各种其它mk文件,同一时候在载入的过程中会初始化自己定义的变量,相似于预编译,在完毕各种初始化后,确定目标以及依赖关系,终于运行目标输出动作. 在config.mk中存在多个须要include的mk文件.这里关注product相关的envsteup.mk 在envsteup.mk从又会include prod…
首先附上官网上关于环境搭建的地址:https://source.android.com/setup/build/initializing 官网目前建议的还是Ubuntu14.04,下面就是用的Ubuntu14.04. 默认系统已安装好. 1.更新软件列表和软件版本 sudo apt-get update sudo apt-get upgrade 2.一次性安装必要的软件 工具. sudo apt-get install git-core gnupg flex bison gperf build-…
本文转载自:http://blog.csdn.net/kitty_landon/article/details/60764232 Android是一个庞大的系统,包含太多的模块,各种模块的类型也有10多种.为了管理整套源码的编译,Android专门开发了自己的Build系统.从大的方面讲,Android的Build系统可分为3大块:第一块是位于build/core目录下的文件,这是Android Build系统的框架和核心:第二块是位于device目录下的文件,存放的是具体产品的配置文件:第三块…
在Android4.2的源代码Build/prduct_config.mk里面遇到几个疑惑: # Convert a short name like "sooner" into the path to the product # file defining that product. # INTERNAL_PRODUCT := $(call resolve-short-product-name, $(TARGET_PRODUCT)) ifneq ($(current_product_m…
在Mac下编译Android最麻烦的就是设置Android的编译环境了,做完这一步基本上剩下的就是近乎傻瓜式的操作了.说起来也简单就三步,设置大小写敏感的文件系统.安装编译工具.设置文件系统同时能打开的数量. 默认情况下,Mac OS运行在不区分大小写的文件系统上,git对这类型的文件系统支持不太好,有可能会导致git命令运行出错(比如git status).因此,我们推荐在一个区分大小写的文件系统中,做与AOSP相关的操作.这很容易就可以用磁盘映像(disk image)做到,下面会讨论到.…
最近研究了下Android 的编译系统,下面结合编译我们自己的产品 mobot 来对整个编译系统进行必要的介绍,方便大家今 后对默认编译的修改. 先列出几个觉得重要的Make 文件: build/buildspec.mk build/envsetup.sh build/core/main.mk build/core/envsetup.mk build/core/config.mk 总的来说,Android 以模块 (module/package) 的形式来组织各个系统的部件,每个模块(modul…
本文转载自;http://blog.csdn.net/zirconsdu/article/details/8005415 Android编译系统分析 概要 由于android编译系统的复杂和使用了不熟悉的Python,所以对其一直望而却步:工作中使用Android.mk也仅仅是拷贝修改.最近由于工作需要解决一个编译方面的问题1,浏览了一下编译系统:另外,项目上的编译控制是使用在Android编译系统基础之上的一个sh脚本,由于脚本维护滞后和Android源码目录增加删除修改的原因,该sh已经不能…
android源码编译步骤: 1. repo sync 代码(下载代码) 2.start branch(用哪个分支,git相关) 3. 到根目录(android目录) $cd android/ 4. 加载编译选项(函数调用之类,相当于include一些函数) $ source build/envsetup.sh 5.加载lunch $lunch [product]-userdebug 6.开始编译 $m (or mm or mmm or make) 7. 会产生一个out目录 分析编译脚本: r…
一.搭建环境 官方参考文档: 1.代号.标签和版本号 2.Factory Images 3.Driver Binaries 4.工具链  软硬件版本: 1.系统平台:I5-8500T+8G+1T,Ubuntu 14.04 LTS 64bit 2.Python 2.6 - 2.7(注意:Python 3不兼容) 3.GNU Make 3.81 - 3.82 4.Git 1.7 或更高版本 5.OpenJDK 8 6.SDK 搭建步骤: 1.安装ubuntu 14.04 LTS 操作系统,Ubunt…
http://bbs.ickey.cn/group-topic-id-57981.html [Orange Pi PC试用体验]11编译android源码笔记 编译android和编译linux有点类似,参考 我之前的笔记 http://bbs.ickey.cn/group-topic-id-55607.html 我的笔记和资料全共享在云盘: http://pan.baidu.com/s/1dD6T0f3 没有密码,欢迎下载~~~~~~ 材料: 香橙派:orangepi PC TF卡:用原来的三…
1.Android系统分析 2.下载Android源代码(不包括Linux内核部分) 下载好了的Android_5.01.tar.gz,通过samba复制到ubuntu里,再解压之. 可以看到AndroidSrc/这个文件夹,它存放的就是Android源代码了. 3.编译 a.初始化编译环境,在build目录下面 b.选择编译目标(配置) 配置 这里有好几个小时的时间zzzzzzzzzzzzzzzzzzz c.编译目标输出 4.测试Android系统 a.创建一个模拟器来模拟设备 启动studi…
android 系统应用在运行时被rm 掉了,是否还会运行? 环境:root,且开机运行 经过试验,apk本身是在 /system/app 目录下面,且apk已经运行了,这个时候直接 rm /system/app/apk的名字,,可以发现该apk不会立即终止,手动退回桌面,桌面已经没有改apk的图标. 备注:而且还有一种情况不会影响 系统应用的运行,那就是在运行apk的时候通过adb执行更改文件名字的情况,也不会影响程序的正常运行.…
在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析 Launcher应用程序的启动过程. Android系统的Home应用程序Launcher是由ActivityManagerService启动的,而 ActivityManagerService和PackageManagerService一样,都是在开…
本文转载自:http://blog.csdn.net/lilidejing/article/details/46564491 进入系统framework层修改了下MediaPlayer.java的源码,就添加了个方法,结果重新编译系统报下面错误: .................. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for detail…
1.安装 ubuntu 14.03 尽管android推荐 ubuntu 15, 安全起见,还是装LTS的14.04,步骤跳过 2. JDK: Marshmallow 需要 JDK8 ,添个源,顺手配下java sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo update-alternatives --config javasudo update-alternatives --config javac 3.装下…
Gerrit和Git环境配置可以参考<git&gerrit操作指导> 步骤1. 先在Gerrit中创建新的账户: 步骤2. 在新的客户端上生成密钥(可以使用的是生成的公钥): 步骤3. 将生成的公钥添加到Gerrit的账户中: 步骤4. 配置config文件: 该文件存在于.ssh目录下,执行:vim config(目录原先是不存在该文件的) 步骤5. 测试连接是否联通:执行指令判断是否联通:ssh -p 29419(Gerrit服务器端口号,默认是29418) zhxxfxx(账号名…
在项目配置文件ProjectConfig.mk中开启蓝牙以后,但是设置菜单中并没有出现蓝牙选项,最后发现是因为ProjectConfig.mk同级目录下没有蓝牙配置文件android.hardware.bluetooth.xml,该文件内容如下 <?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2009 The Android Open Source Project Licensed…
2.3编译Android源码 Android源码体积非常庞大,由Dalvik虚拟机.Linux内核.编译系统.框架代码.Android定制C库.测试套件.系统应用程序等部分组成,在编译Android源码之前,必须要先掌握Android源码的组成. 2.3.1Android源码目录结构 在Android源码中,按照不同功能代码被放在不同的目录下: 目录 描述 bionic 针对Android系统定制的仿生标准C库.链接器等所在目录,Android系统并没有使用Linux的glibc库,bioinc…
             分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+] 一 CyanogenMod 开发基础 CyanogenMod 开发相关资料推荐 1 官方资料 2 国内 CyanogenMod 相关 高质量 博客 网站 文章 二 安装 CyanogenMod 官方提供的 Mi4 Recovery 和 ROM 基带版本…
Android源代码在编译之前,要先对编译环境进行初始化,其中最主要就是指定编译的类型和目标设备的型号.Android的编译类型主要有eng.userdebug和user三种,而支持的目标设备型号则是不确定的,它们由当前的源码配置情况所决定.为了确定源码支持的所有目标设备型号,Android编译系统在初始化的过程中,需要在特定的目录中加载特定的配置文件.接下来本文就对上述的初始化过程进行详细分析. 对Android编译环境进行初始化很简单,分为两步.第一步是打开一个终端,并且将build/env…
1.准备: 普通PC(要求能上网), PC的操作系统Ubuntu 10.04 LTS(64位的),已经下载好的Android 1.6_r1的源代码. 2.Linux的依赖package安装: 为了更快的下载和安装包,请首先修改Ubuntu10.04的更新源,修改步骤如下: 在终端中运行: $ sudo gedit /etc/apt/sources.list 将打开文本编辑器,修改源服务器的列表,这里使用网易的源, 地址如下:摘自网络 deb http://mirrors.163.com/ubun…
cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1.  所需工具         1)cocos2d-x-3.0rc0.zip   http://cn.cocos2d-x.org/download/  截止写博文时,最新版本号为V3.2.         2)VS2012 http://www.baidu.com/s?wd=VS2012         3)Python  https://…
在Ubuntu中可以配置 android source 编译环境,推荐使用最新的64位的Ubuntu  LTS(Long Time Support); 1.安装JDK. AOSP主分支代码需要java7,在Ubuntu上可以使用 OpenJDK. 安装java7的命令: $ sudo apt-get update $ sudo apt-get install openjdk-7-jdk 如果系统中已安装有java环境,可以将其进行更新: $ sudo update-alternatives --…
原文网址:http://blog.csdn.net/luoshengyang/article/details/19023609 在前文中,我们分析了Android编译环境的初始化过程.Android编译环境初始化完成后,我们就可以用m/mm/mmm/make命令编译源代码了.当然,这要求每一个模块都有一个Android.mk文件.Android.mk实际上是一个Makefile脚本,用来描述模块编译信息.Android编译系统通过整合Android.mk文件完成编译过程.本文就对Android源…
target_product.mkAndroid系统在构建关于某种产品的固件时,一般会根据特定于该产品的具体target_product.mk来配置生成整个Android系统./target_product.mk配置文件位于:/path_to_android/device/vendor/目录下,其中path_to_android表示Android系统的根目录:vendor为具体的厂商名称,例如,htc.moto.softwinner等. target_product.mk的基本结构如下: 基本配…
这是很久以前访问掘金的时候 无意间看到的一个关于Android的文章,作者更细心,分阶段的将学习步骤记录在自己博客中,我觉得很有用,想作为分享同时也是留下自己知识的一些欠缺收藏起来,今后做项目的时候会用到. 好了,废话不多说了.直接来吧.. Android 7.0系统源码下载\编译:http://blog.csdn.net/cjpx00008/article/details/67185045(这个链接并不是下载地址,而是对安卓系统编码的一个阐述,源码官网可以下载的) 这是Android 7.0系…
本文转自迅为4412开发板实战教程书籍:http://www.topeetboard.com 迅为是基于Ubuntu12.04.2平台做开发,所有的配置和编译脚本也是基于此平台,没有在其它平台上测试过.如果你对Linux和Android开发很熟悉,相信你会根据错误提示逐步找到原因并解决,错误提示一般是选用的平台缺少了某些库文件或者工具等原因造成的:建议初学者使用和迅为一致的平台. Uboot.Kernel以及Android等的编译环境看似复杂,其实只需要抓住以下四个要点. (1)Uboot.Ke…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7691321 好几个月都没有更新过博客了,从今天开始,老罗将尝试对Android系统的UI实现作一个系统的分析,也算是落实之前所作出的承诺.提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的画面了.Android系统在启动的过程中,最多可以出现三个画面,每一个画面都用来描述一个不同的启动阶段.本文将详细分析这三个开机画面的…
Android系统权限及签名   2015-03-23 19:13:33CSDN-chen52671-点击数:50     Android权限及签名 引子 现象:系统中的一个定制Service,服务是对外开放的,使用系统签名 LOCAL_CERTIFICATE := platform 应用层调用这个系统服务,获取底层的一些信息.如果在IDE里进行开发,普通签名,无法调用到该服务, 改成在系统编译环境里编译,并在Android.mk中加入如下语句: LOCAL_CERTIFICATE := pla…
主要包括Android SDK.Android开发工具:也包括如何使用Android提供的ADB.DDMS.AAPT.DX等工具,掌握这些工具是开发Android应用的基础技能. 1.Android的发展和历史:创始人Andy Rubin,Google收购. 2.Android平台架构及特性 Android系统的底层建立在Linux系统之上,该平台由操作系统.中间件.用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建.各层之间低耦合. 1)应用程序…