--------1over(裸机+系统)--------

vbox挂载共享

sudo mount -t vboxsf D /mnt/D/

sudo apt-get update

sudo apt-get install git gnupg flex bison gperf build-essential \

zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \

libx11-dev:i386 libreadline6-dev:i386 \

libgl1-mesa-dev g++-multilib mingw32 tofrodos \

python-markdown libxml2-utils xsltproc zlib1g-dev:i386

--------2over(android需要的环境+jdk6)--------

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x repo

export PATH=/home/fbb/bin:$PATH

git config --global user.email "fbb@fbb.com"

git config --global user.name "fbb"

KTU84Pandroid-4.4.4_r1KitKatNexus 5、Nexus 7 (flo/deb/grouper/tilapia)、Nexus 4、Nexus 10

repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.4_r1

repo sync

--------3over(源码下载over)--------

下载nexus 5 的硬件驱动:

关键字:编译android 刷到nexus 5

https://developers.google.com/android/drivers

Nexus 5 (GSM/LTE) ("hammerhead")

Nexus 5 (GSM/LTE) binaries for Android 4.4.4 (KTU84P)

/*

Nexus 5 (GSM/LTE) binaries for Android 4.4.4 (KTU84P)

Hardware ComponentCompanyDownloadSHA-256 Checksum

NFC, Bluetooth, Wi-FiBroadcomLinkf258605e24c9c3d4e78c9af934f3516a4f8d3410da697005fad42cad36c5ed5c

Camera, Sensors, AudioLGLinkfc72704e0fba9c51c6505ae009e474570de27ee8565d51483368d8dae6c0f44e

Graphics, GSM, Camera, GPS, Sensors, Media, DSP, USBQualcommLink8603d85ad511346d65c27c3747919da280523b86d55a39dfce657a4ca1b0685b

*/

过程:

根据链接下载 三个 tgz的文件,

解压后是sh文件放到源码的跟目录,

执行sh文件,会在源码根目录下生存vendor文件夹。

命令:

mkdir drivers

curl https://dl.google.com/dl/android/aosp/broadcom-hammerhead-ktu84p-5a5bf60e.tgz > ~/drivers/broadcom-hammerhead-ktu84p-5a5bf60e.tgz

curl https://dl.google.com/dl/android/aosp/lge-hammerhead-ktu84p-49419c39.tgz > ~/drivers/lge-hammerhead-ktu84p-49419c39.tgz

curl https://dl.google.com/dl/android/aosp/qcom-hammerhead-ktu84p-f159eadf.tgz > ~/drivers/qcom-hammerhead-ktu84p-f159eadf.tgz

tar -zxf broadcom-hammerhead-ktu84p-5a5bf60e.tgz

tar -zxf lge-hammerhead-ktu84p-49419c39.tgz

tar -zxf qcom-hammerhead-ktu84p-f159eadf.tgz

cp ~/drivers/extract-broadcom-hammerhead.sh ~/android-4.4.4_r1/extract-broadcom-hammerhead.sh

cp ~/drivers/extract-lge-hammerhead.sh ~/android-4.4.4_r1/extract-lge-hammerhead.sh

cp ~/drivers/extract-qcom-hammerhead.sh ~/android-4.4.4_r1/extract-qcom-hammerhead.sh

./extract-broadcom-hammerhead.sh

./extract-lge-hammerhead.sh

./extract-qcom-hammerhead.sh

内核:

参考:

参考网址:http://blog.csdn.net/qq1084283172/article/details/54880488

官网:https://source.android.com/source/building-kernels

内核配置菜单的支持库:

sudo apt-get install lib32ncurses5-dev

内核编译:

cd android-4.4.4_r1/

mkdir kernel

cd kernel/

git clone https://android.googlesource.com/kernel/msm.git

git branch -a

git checkout origin/android-msm-hammerhead-3.4-kk-r1

export PATH=/home/fbb/android-4.4.4_r1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin:$PATH

export CROSS_COMPILE=/home/fbb/android-4.4.4_r1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-

export ARCH=arm

export SUBARCH=arm

make distclean//内核编译清空

make hammerhead_defconfig

make menuconfig //调用配置的菜单。enable loadable module suppot (启动模块支持,驱动模块内部的一些设置)

make -j16

编译后的内核文件路径:arch/arm/boot/zImage-dtb

查看内核版本命令:

cd arch/arm/boot/

dd if=zImage-dtb bs=1 skip=$(LC_ALL=C od -Ad -x -w2 zImage-dtb | grep 8b1f | cut -d ' ' -f1 | head -1) | zgrep -a 'Linux version'

编译完后的内核版本:

Linux version 3.4.0-g9eb14ba (fbb@fbb-pc) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Mon Aug 14 11:29:51 CST 2017

新编译的内核替换原来的内核:

cp /home/fbb/android-4.4.4_r1/device/lge/hammerhead-kernel/zImage-dtb /home/fbb/test/zImage-dtb //原来的内核备份

cp /home/fbb/android-4.4.4_r1/kernel/msm/arch/arm/boot/zImage-dtb /home/fbb/android-4.4.4_r1/device/lge/hammerhead-kernel/zImage-dtb

系统自带的内核版本:

Linux version 3.4.0-gd59db4e (android-build@vpbs1.mtv.corp.google.com)

(gcc version 4.7 (GCC) ) #1 SMP PREEMPT Mon Mar 17 15:16:36 PDT 2014

Nexus 5内核文件路径:device/lge/hammerhead-kernel

此处有两种方法:

1,把新编译的内核替换为下载下来的内核,然后重新对android源码编译。

2,用工具重新置编辑bootimg,然后只刷boot.img.(这种方法是,android源码已经编译完了,后编译的内核。建议不要用这种,亲测的结果是,内核一会是之前的版本,一会是新编译的版本)

编译android源码

参考:

android 源码官网:https://source.android.com/source/building

参考网址:http://blog.csdn.net/qq1084283172/article/details/54562606

清理:为了确保新安装的二进制文件在解压后会被适当考虑在内,请使用以下命令删除所有以前编译操作的已有输出:

make clobber

设置环境:使用 envsetup.sh 脚本初始化环境。请注意,将 source 替换成 .(一个点)可以省去一些字符,这种简写形式在文档中更为常用。

source build/envsetup.sh

. build/envsetup.sh

选择目标:

lunch

输入:9

选择的:

9. aosp_hammerhead-userdebug

编译代码:

make -j16

刷机

参考(网页下面写了一些android的驱动的配置):http://blog.csdn.net/qq1084283172/article/details/54562606

前提:先配置usb的配置文件:

sudo gedit /etc/udev/rules.d/51-android.rules

sudo sed -i 's/username/fbb/g' /etc/udev/rules.d/51-android.rules

进入刷机模式的命令:

adb reboot bootloader

查看usb:

lsusb

真机刷机:

fastboot -w flashall

--------4over(源码编译over,内核用的google编译好的)--------

----5over(内核编译完成,内核替换了,重新编译android源码)----

hal 测试:

source build/envsetup.sh

lunch

9

mmm device/generic/goldfish/gps/

编译内核的环境:

export PATH=/home/fbb/android-4.4.4_r1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin:$PATH

export CROSS_COMPILE=/home/fbb/android-4.4.4_r1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-

export ARCH=arm

export SUBARCH=arm

hello.c

#include

#include

#include

MODULE_LICENSE ("GPL");

__init int hello_init(void)

{

printk (KERN_INFO "Hello world\n");

return 0;

}

__init void hello_exit(void)

{

printk (KERN_INFO "Goodbye world\n");

}

module_init(hello_init);

module_exit(hello_exit);

Makefile

KERNELDIR ?= /home/fbb/android-4.4.4_r1/kernel/msm

obj-m := hello.o

all:

make ARCH=arm -C $(KERNELDIR) M=$(PWD) modules

参考2:

obj-m := test.o

KERN := /home/micky/soft/kernel/goldfish/

PWD :=$(shell pwd)

ARCH=arm

CROSS_COMPILE=arm-eabi-

CC=$(CROSS_COMPILE)gcc

LD=$(CROSS_COMPILE)ld

all:

$(MAKE) -C $(KERN) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=$(PWD) modules

adb push *.ko /data/local/

clean:

-rm -rf *.o *.ko *.mod.c .*.cmd *.order *.symvers .tmpversions

模拟器内核下载:

git clone https://android.googlesource.com/kernel/goldfish.git

tar -zcf goldfish.tar.gz goldfish

git branch -a

git checkout remotes/origin/android-goldfish-3.4

framework

1,

source build/envsetup.sh

. build/envsetup.sh

2,选择目标:

lunch

输入:9

选择的:

9. aosp_hammerhead-userdebug

3,mmm frameworks/base/

cp /home/fbb/android-4.4.4_r1/out/target/product/hammerhead/system/framework/framework2.jar /mnt/D/

cp /home/fbb/android-4.4.4_r1/out/target/product/hammerhead/system/framework/framework.jar /mnt/D/

cp /home/fbb/android-4.4.4_r1/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar /mnt/D/

安卓java模拟器4.4_android 4.4.4源码下载_编译_nexus5刷机_内核编译_驱动helloworld_framework修改...相关推荐

  1. Java随机生成Mac地址(GitHub源码下载)

    生成随机 Mac 地址 这段时间做项目,涉及到虚拟机 Mac 地址生成,网上找了一些 Java 随机生成 Mac 地址的代码,大多都是从 {'0', '1', '2', '3', '4', '5', ...

  2. java rcp 开发 eclipse_eclipse rcp 开发实例 (源码下载)

    评论 # re: eclipse rcp 开发实例 (源码下载) 2007-05-18 16:27 BeanSoft 支持一下,谢谢分享!  回复  更多评论 # re: eclipse rcp 开发 ...

  3. 基于Android的家庭财务管理流程图,SYL_Android_FamilyFinaceSystem 双鱼林基于安卓Android家庭财务管理系统毕业课程设计源码 - 下载 - 搜珍网...

    464双鱼林基于安卓Android家庭财务管理系统\安卓客户端\.classpath ........................................\..........\.ic_l ...

  4. java 手电筒 电池_android 手电筒app完整源码下载(支持切换背景图)

    [实例简介] [实例截图] [核心代码] package com.jiayonghua.android; import java.io.IOException; import java.util.Ar ...

  5. Java matlab车牌识别,MATLAB车牌识别 源码下载

    [实例简介] [实例截图] [核心代码] I=imread('car1.jpg'); figure(1),imshow(I);title('原图') I1=rgb2gray(I);%转换为灰度图 fi ...

  6. 安卓马赛克view_android 图片编辑(马赛克等功能实现)源码下载

    [实例简介]实现的基本功能如下: 1,图片编辑(图片添加,文字添加),实现图片编辑中的图片添加,旋转,缩放,删除:文字的添加,大小缩放,字体更换,颜色更换,删除: 2,基本滤镜实现与接口封装: 涂鸦( ...

  7. 安卓期末大作业——猫咪社区(源码+任务书)

    安卓期末大作业--养猫论坛(源码+任务书) (第3期语音互动答疑)远程帮客户调试成功了猫咪社区APP.mp4 课题的作用和意义 随着我国孤独人口和丁克群体的增长,人们迫切需要一个事务来宣泄自己的感情, ...

  8. linux手机刷机包制作工具_大神教你五分钟制作安卓ROM包 ROM包修改教程

    之前很多人在网上问:"如何自己制作安卓ROM包?"今天,刷机帮的小编就给大家分享一篇关于安卓ROM包制作以及修改的实用教程,感兴趣的朋友可以一起来看看,当然,老司机就直接略过. 制 ...

  9. 鑫众棋牌源码下载架设教程支持PC安卓苹果附说明

    一个多人在线的棋牌类网络游戏的项目临近尾声,我参与了该项目的整个设计流程,并且完成了90%的核心代码.关于这个项目,有很多地方值得聊一聊.本系列不打算把这个项目将得多么详细规范,那是设计文档应该描述的 ...

  10. 安卓期末大作业——鲜花商店APP(源码+任务书)

    安卓期末大作业--鲜花商店APP(源码+任务书) <移动应用开发> 课程考核报告 姓    名: 学    号: 完 成 日 期 2022年 5月 建议从以下方面填写:1. 课题的作用和意 ...

最新文章

  1. 机器学习研究的七个迷思
  2. linux搭建mq环境,Linux搭建servicemix、activemq环境
  3. java 解压到内存,Java GZip 基于内存实现压缩和解压的方法
  4. linux shell 脚本使用
  5. IOError: encoder jpeg not available
  6. Zerotier Moon服务器配置
  7. ElasticSearch8.1.2 ik分词器
  8. yii2 restful web服务[格式响应]
  9. C语言输出图形:宝塔形(三角形)字母。第一行A,第二行BB,第三行CCC……
  10. 关于int型最大值最小值的思考
  11. 计算机上岗证学校,计算机岗位资格证
  12. 公网远程访问连接Minecraft我的世界服务器 - MCSM控制面板
  13. t480s控制面板打开触摸板_ThinkPad T480s 用户指南V4.0--更换键盘部分
  14. html日期控件默认设置为当天日期
  15. Centos下docker/docker-compose离线安装
  16. docker tomcat 的起动与访问
  17. iOS 4.2.1版iPad绿毒Win完美越狱教程
  18. 线程安全问题经典案例---卖票
  19. Git时出现 Permission denied (publickey)的简单解决方法
  20. Android智能手机网络防火墙开发的经验心得

热门文章

  1. 知网html怎样转化成pdf,中国知网CAJ ASP文件转PDF教程
  2. 内核进程回调遍历【记录】
  3. 阿里java开发编程规范
  4. 图书馆管理系统的c语言,图书馆管理系统 c语言.doc
  5. uniapp使用阿里图标库
  6. zabbix3.0监控详解
  7. hough变换检测圆周_Hough变换检测圆(附:MATLAB程序)
  8. MySQL查询GROUP BY日/月/年
  9. python花瓣飘零_PYTHON抓取花瓣网高清美图
  10. C/C++ 实现模拟键盘鼠标