安卓java模拟器4.4_android 4.4.4源码下载_编译_nexus5刷机_内核编译_驱动helloworld_framework修改...
--------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修改...相关推荐
- Java随机生成Mac地址(GitHub源码下载)
生成随机 Mac 地址 这段时间做项目,涉及到虚拟机 Mac 地址生成,网上找了一些 Java 随机生成 Mac 地址的代码,大多都是从 {'0', '1', '2', '3', '4', '5', ...
- java rcp 开发 eclipse_eclipse rcp 开发实例 (源码下载)
评论 # re: eclipse rcp 开发实例 (源码下载) 2007-05-18 16:27 BeanSoft 支持一下,谢谢分享! 回复 更多评论 # re: eclipse rcp 开发 ...
- 基于Android的家庭财务管理流程图,SYL_Android_FamilyFinaceSystem 双鱼林基于安卓Android家庭财务管理系统毕业课程设计源码 - 下载 - 搜珍网...
464双鱼林基于安卓Android家庭财务管理系统\安卓客户端\.classpath ........................................\..........\.ic_l ...
- java 手电筒 电池_android 手电筒app完整源码下载(支持切换背景图)
[实例简介] [实例截图] [核心代码] package com.jiayonghua.android; import java.io.IOException; import java.util.Ar ...
- Java matlab车牌识别,MATLAB车牌识别 源码下载
[实例简介] [实例截图] [核心代码] I=imread('car1.jpg'); figure(1),imshow(I);title('原图') I1=rgb2gray(I);%转换为灰度图 fi ...
- 安卓马赛克view_android 图片编辑(马赛克等功能实现)源码下载
[实例简介]实现的基本功能如下: 1,图片编辑(图片添加,文字添加),实现图片编辑中的图片添加,旋转,缩放,删除:文字的添加,大小缩放,字体更换,颜色更换,删除: 2,基本滤镜实现与接口封装: 涂鸦( ...
- 安卓期末大作业——猫咪社区(源码+任务书)
安卓期末大作业--养猫论坛(源码+任务书) (第3期语音互动答疑)远程帮客户调试成功了猫咪社区APP.mp4 课题的作用和意义 随着我国孤独人口和丁克群体的增长,人们迫切需要一个事务来宣泄自己的感情, ...
- linux手机刷机包制作工具_大神教你五分钟制作安卓ROM包 ROM包修改教程
之前很多人在网上问:"如何自己制作安卓ROM包?"今天,刷机帮的小编就给大家分享一篇关于安卓ROM包制作以及修改的实用教程,感兴趣的朋友可以一起来看看,当然,老司机就直接略过. 制 ...
- 鑫众棋牌源码下载架设教程支持PC安卓苹果附说明
一个多人在线的棋牌类网络游戏的项目临近尾声,我参与了该项目的整个设计流程,并且完成了90%的核心代码.关于这个项目,有很多地方值得聊一聊.本系列不打算把这个项目将得多么详细规范,那是设计文档应该描述的 ...
- 安卓期末大作业——鲜花商店APP(源码+任务书)
安卓期末大作业--鲜花商店APP(源码+任务书) <移动应用开发> 课程考核报告 姓 名: 学 号: 完 成 日 期 2022年 5月 建议从以下方面填写:1. 课题的作用和意 ...
最新文章
- 机器学习研究的七个迷思
- linux搭建mq环境,Linux搭建servicemix、activemq环境
- java 解压到内存,Java GZip 基于内存实现压缩和解压的方法
- linux shell 脚本使用
- IOError: encoder jpeg not available
- Zerotier Moon服务器配置
- ElasticSearch8.1.2 ik分词器
- yii2 restful web服务[格式响应]
- C语言输出图形:宝塔形(三角形)字母。第一行A,第二行BB,第三行CCC……
- 关于int型最大值最小值的思考
- 计算机上岗证学校,计算机岗位资格证
- 公网远程访问连接Minecraft我的世界服务器 - MCSM控制面板
- t480s控制面板打开触摸板_ThinkPad T480s 用户指南V4.0--更换键盘部分
- html日期控件默认设置为当天日期
- Centos下docker/docker-compose离线安装
- docker tomcat 的起动与访问
- iOS 4.2.1版iPad绿毒Win完美越狱教程
- 线程安全问题经典案例---卖票
- Git时出现 Permission denied (publickey)的简单解决方法
- Android智能手机网络防火墙开发的经验心得