- 浏览: 931662 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
itzhongyuan:
java Random类详解 -
david_je:
你好,我看到你在C里面回调JAVA里面的方法是在native里 ...
Android NDK开发(1)----- Java与C互相调用实例详解 -
fykyx521:
请求锁是在 oncreate 释放实在ondestroy?? ...
Android如何保持程序一直运行 -
aduo_vip:
不错,总结得好!
Android读取assets目录下的资源 -
f839903061:
给的网址很给力哦!
Android 4.0.1 源码下载,编译和运行
Android 4.0.1 源码下载,模拟器编译和运行
http://blog.csdn.net/rambo2188/article/details/6943382
http://www.linuxidc.com/Linux/2011-11/47808.htm
转注:本文由rambo2188在CSDN上首发,linuxidc上的貌似该文的转载
----------------------------------------------------------------
[1] Android ICS 下载
----------------------------------------------------------------
http://source.android.com/source/downloading.html 上有最新的ICS 源代码同步的地址。如果环境已经设置好了的话,同步最新的代码非常的简单:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
$ repo sync
转注:
主干:$ repo init -u https://android.googlesource.com/platform/manifest.git
4.03:$ repo init -u https://android.googlesource.com/platform/manifest.git -b android-4.0.3_r1
下载完成后主要包含以下目录:
abi bionic bootable build cts dalvik development device docs external frameworks hardware libcore Makefile ndk out packages prebuilt sdk system
Android4.01配套内核kernel3.0下载
$ git clone http://android.git.kernel.org/kernel/common.git
$ git branch -a
$ git checkout remotes/origin/android-3.0
----------------------------------------------------------------
[2] Android ICS 的编译
----------------------------------------------------------------
source ./build/envsetup.sh
lunch sdk-eng
make
编译完成后工作目录($TOP)里增加了一个log文件 v8.log
转注:
(1) 编译过程中,可能会由于stdio2.h导致编译错误。正确的stdio2.h是./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/bits/stdio2.h文件,请重新设置PATH环境变量,将./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr放在PATH的最前。
(2) 编译时可能会提示需要Java 1.6 SE,实际上编译时只需要有Java 1.6 JDK就成
(3) 带参数make时,toolchain说明最好使用绝对路径,如:make -j2 ARCH=arm CROSS_COMPILE=/home/hyla/ics/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
----------------------------------------------------------------
[3] Android 4.0.1 模拟器内核最新下载地址及编译步骤
----------------------------------------------------------------
url: http://www.linuxidc.com/Linux/2011-11/47809.htm
由于Android kernel的部分封闭策略,kernel org已经将android kernel踢出主线。原有的同步地址已经被重定向,再加上android kernel本身结构的调整,很多原来的同步方法已经不能使用。下面是最新的方法,适用于编译android 4.0.1 模拟器的内核(qemu kernel, goldfish branch)。
原有的方法大多使用以下地址同步
$ git clone git://Android.git.kernel.org/kernel/common.git
$ cd common
$ git branch -a
$git checkout remotes/origin/archive/Android-gldfish-2.6.29
但是我们可以在浏览器里输入
Android.git.kernel.org/kernel/common.git
它实际上已经被重定向到
Android.googlesource.com/kernel/common.git
但是这个repo 里已经不包含 goldfish的分支了。如果同步下来后我们用 git branch -a 将看到只有最新的 3.0 和2.6.39的分支:
$git branch -a
* (no branch)
master
remotes/origin/HEAD -> origin/master
remotes/origin/android-2.6.39
remotes/origin/android-3.0
remotes/origin/master
其实 goldfish分支已经被独立为一个单独的repo:http://android.googlesource.com/kernel/goldfish.git
以下是最新的正确的 同步步骤:
$git clone http://android.googlesource.com/kernel/goldfish.git
$cd goldfish
$git branch -a
* (no branch)
master
remotes/origin/HEAD -> origin/master
remotes/origin/android-goldfish-2.6.29
remotes/origin/master
$git checkout remotes/origin/android-goldfish-2.6.29
编译步骤基本没有变,但需要使用新的config:
$ make ARCH=arm goldfish_armv7_defconfig
$ make ARCH-arm CROSS_COMPILE=arm-eabi-
...
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
然后就可以用着新的kernel img 来启动模拟器了:
----------------------------------------------------------------
[4] Android ICS 模拟器的启动
----------------------------------------------------------------
命令:列出AVD平台
$ cd out/host/linux-x86/sdk/android-sdk_eng.xxx_linux-x86/tools
$ android list targets
Available Android targets:
----------
id: 1 or "Android-14"
Name: Android 4.0
Type: Platform
API level: 14
Revision: 2
Skins: QVGA, WSVGA, HVGA, WVGA854, WXGA720, WQVGA432, WVGA800 (default), WQVGA400, WXGA800
ABIs : armeabi-v7a
命令:自定义AVD
$ android create avd -t 1 -n ics
Auto-selecting single ABI armeabi-v7a
Android 4.0 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Created AVD 'ics' based on Android 4.0, ARM (armeabi-v7a) processor,
with the following hardware config:
hw.lcd.density=240
vm.heapSize=24
hw.ramSize=512
命令:启动模拟器,加载自定义的AVD
$ emulator -avd ics
命令:使用自己编译的内核启动模拟器
$emulator -kernel ...../kernel/goldfish/arch/arm/boot/zImage &
启动模拟器,到 Setting => About 去看,kernel现在的确是我们自己编译的版本了。
命令:使用自己编译的内核及images启动模拟器
export DROIDROOT=~/android-sdk-v14-x86
export AVDROOT=~/android-sdk-v14-x86/tools
cd `pwd`/out/target/product/generic
$AVDROOT/emulator -kernel ../../../../kernel/arch/arm/boot/zImage -show-kernel -partition-size 256 -memory 256 -skindir $DROIDROOT/platforms/android-14/skins -skin WVGA800 -shell -sysdir ./ -data userdata.img -ramdisk ramdisk.img -system system.img -sdcard /~/.android/avd/wvga800v14/sdcard.img
http://blog.csdn.net/rambo2188/article/details/6943382
http://www.linuxidc.com/Linux/2011-11/47808.htm
转注:本文由rambo2188在CSDN上首发,linuxidc上的貌似该文的转载
----------------------------------------------------------------
[1] Android ICS 下载
----------------------------------------------------------------
http://source.android.com/source/downloading.html 上有最新的ICS 源代码同步的地址。如果环境已经设置好了的话,同步最新的代码非常的简单:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
$ repo sync
转注:
主干:$ repo init -u https://android.googlesource.com/platform/manifest.git
4.03:$ repo init -u https://android.googlesource.com/platform/manifest.git -b android-4.0.3_r1
下载完成后主要包含以下目录:
abi bionic bootable build cts dalvik development device docs external frameworks hardware libcore Makefile ndk out packages prebuilt sdk system
Android4.01配套内核kernel3.0下载
$ git clone http://android.git.kernel.org/kernel/common.git
$ git branch -a
$ git checkout remotes/origin/android-3.0
----------------------------------------------------------------
[2] Android ICS 的编译
----------------------------------------------------------------
source ./build/envsetup.sh
lunch sdk-eng
make
编译完成后工作目录($TOP)里增加了一个log文件 v8.log
转注:
(1) 编译过程中,可能会由于stdio2.h导致编译错误。正确的stdio2.h是./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/bits/stdio2.h文件,请重新设置PATH环境变量,将./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr放在PATH的最前。
(2) 编译时可能会提示需要Java 1.6 SE,实际上编译时只需要有Java 1.6 JDK就成
(3) 带参数make时,toolchain说明最好使用绝对路径,如:make -j2 ARCH=arm CROSS_COMPILE=/home/hyla/ics/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
----------------------------------------------------------------
[3] Android 4.0.1 模拟器内核最新下载地址及编译步骤
----------------------------------------------------------------
url: http://www.linuxidc.com/Linux/2011-11/47809.htm
由于Android kernel的部分封闭策略,kernel org已经将android kernel踢出主线。原有的同步地址已经被重定向,再加上android kernel本身结构的调整,很多原来的同步方法已经不能使用。下面是最新的方法,适用于编译android 4.0.1 模拟器的内核(qemu kernel, goldfish branch)。
原有的方法大多使用以下地址同步
$ git clone git://Android.git.kernel.org/kernel/common.git
$ cd common
$ git branch -a
$git checkout remotes/origin/archive/Android-gldfish-2.6.29
但是我们可以在浏览器里输入
Android.git.kernel.org/kernel/common.git
它实际上已经被重定向到
Android.googlesource.com/kernel/common.git
但是这个repo 里已经不包含 goldfish的分支了。如果同步下来后我们用 git branch -a 将看到只有最新的 3.0 和2.6.39的分支:
$git branch -a
* (no branch)
master
remotes/origin/HEAD -> origin/master
remotes/origin/android-2.6.39
remotes/origin/android-3.0
remotes/origin/master
其实 goldfish分支已经被独立为一个单独的repo:http://android.googlesource.com/kernel/goldfish.git
以下是最新的正确的 同步步骤:
$git clone http://android.googlesource.com/kernel/goldfish.git
$cd goldfish
$git branch -a
* (no branch)
master
remotes/origin/HEAD -> origin/master
remotes/origin/android-goldfish-2.6.29
remotes/origin/master
$git checkout remotes/origin/android-goldfish-2.6.29
编译步骤基本没有变,但需要使用新的config:
$ make ARCH=arm goldfish_armv7_defconfig
$ make ARCH-arm CROSS_COMPILE=arm-eabi-
...
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
然后就可以用着新的kernel img 来启动模拟器了:
----------------------------------------------------------------
[4] Android ICS 模拟器的启动
----------------------------------------------------------------
命令:列出AVD平台
$ cd out/host/linux-x86/sdk/android-sdk_eng.xxx_linux-x86/tools
$ android list targets
Available Android targets:
----------
id: 1 or "Android-14"
Name: Android 4.0
Type: Platform
API level: 14
Revision: 2
Skins: QVGA, WSVGA, HVGA, WVGA854, WXGA720, WQVGA432, WVGA800 (default), WQVGA400, WXGA800
ABIs : armeabi-v7a
命令:自定义AVD
$ android create avd -t 1 -n ics
Auto-selecting single ABI armeabi-v7a
Android 4.0 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Created AVD 'ics' based on Android 4.0, ARM (armeabi-v7a) processor,
with the following hardware config:
hw.lcd.density=240
vm.heapSize=24
hw.ramSize=512
命令:启动模拟器,加载自定义的AVD
$ emulator -avd ics
命令:使用自己编译的内核启动模拟器
$emulator -kernel ...../kernel/goldfish/arch/arm/boot/zImage &
启动模拟器,到 Setting => About 去看,kernel现在的确是我们自己编译的版本了。
命令:使用自己编译的内核及images启动模拟器
export DROIDROOT=~/android-sdk-v14-x86
export AVDROOT=~/android-sdk-v14-x86/tools
cd `pwd`/out/target/product/generic
$AVDROOT/emulator -kernel ../../../../kernel/arch/arm/boot/zImage -show-kernel -partition-size 256 -memory 256 -skindir $DROIDROOT/platforms/android-14/skins -skin WVGA800 -shell -sysdir ./ -data userdata.img -ramdisk ramdisk.img -system system.img -sdcard /~/.android/avd/wvga800v14/sdcard.img
发表评论
-
Android使用binder访问service的方式
2013-08-23 09:42 16441. 我们先来看一个与本地service通信的例子。 pub ... -
android-Service和Thread的区别
2013-08-23 09:17 918servie是系统的组件,它由系统进程托管(servicema ... -
git介绍
2013-08-01 14:49 1045git介绍 使用Git的第一件事就是设置你的名字和email ... -
cocos2d-x学习之自动内存管理和常见宏
2013-07-29 15:41 9101.自动内存管理 1)概述 C++语言默认是 ... -
cocos2dx中利用xcode 调用java中的函数
2013-07-29 11:36 25271. 先把cocos2dx根目录中的 /Users/zhaos ... -
cocos2dx(v2.x)与(v1.x)的一些常用函数区别讲解
2013-07-29 10:35 1111第一个改动: CCLayer初始化 自定义Layer,类名 ... -
xcode与eclipse整合cocos2dx
2013-07-29 10:32 1223文档xcode版本是 204 1. 在xcode中创建coc ... -
git提交代码
2013-07-23 16:00 10601. 在本地创建一个Git的工作空间,在里面创建一个工程(如H ... -
Android.mk的用法和基础
2013-07-19 14:11 4354一个Android.mk file用来向编译系统描述你的源代码 ... -
eclipse配置NDK-Builder命令
2013-07-18 11:02 10391. 2. -
eclipse配置javah命令
2013-07-18 10:48 20171.找到javah命令所在的目录 我的为 /usr/bi ... -
Android SDL2.0 编译
2013-07-17 13:40 19731,下载: wget http://www.libsdl.o ... -
IntelliJ Idea 常用快捷键列表
2013-05-27 10:19 0Alt+回车 导入包,自动修 ... -
android应用后台安装
2013-05-21 12:02 1030android应用后台安装,静默安装的代码实现方法 http ... -
编译linux内核映像
2013-05-21 11:33 967a)准备交叉编译工具链 android代码树中有一个pr ... -
如何单独编译Android源代码中的模块
2013-05-21 11:29 999一. 首先在Android源代码 ... -
Ubuntu安装JDK6和JDK5
2013-05-19 19:04 1015sudo apt-get install sun-java6- ... -
java_jni详解_01
2013-05-08 17:15 961java中的jni 例子HelloWorld 准备过程: 1 ... -
下载android源码 中断解决原因
2013-05-07 15:51 1323解决方法 1. 浏览器登录https://android.go ... -
mac下编译ffmpeg1.1.4
2013-05-07 14:55 1367经过一番网上搜索 与 无数次的编译 终于成功了 下面献上编译 ...
相关推荐
### Android4.0.1源码结构解析 #### 引言 Android 4.0.1,代号为Ice Cream Sandwich(冰淇淋三明治),是Google于2011年发布的移动操作系统版本,旨在统一手机和平板电脑的操作体验。本文将深入解析Android 4.0.1的...
ART引入了预编译机制,提高了应用的启动速度和运行效率。 3. Android运行时库:包括`libcore`和`android`库,它们提供了Android系统的核心服务,如网络、数据库、图形处理等。 4. UI框架:`android.view`和`...
### Linphone 4.0.1 Android 编译源码包相关知识点 #### 一、Linphone概述 Linphone是一款开源的VoIP/SIP客户端,它支持多种平台,包括Android、iOS、Linux、macOS等。用户可以通过Linphone进行高质量的语音通话、...
### Android源码编译make的错误处理 #### 一、概览 在进行Android源码编译的过程中,可能会遇到各种各样的错误。本文主要针对在Linux环境下编译Android 4.0.1版本源码时遇到的一些典型问题,提供详细的解决方案。 ...
Android 源码编译在 Ubuntu 16.04 中的实现流程 Android 源码编译是 Android 开发者们的必经之路,尤其是对于想要深入了解 Android 系统内部机理的开发者。今天,我们将介绍如何在 Ubuntu 16.04 环境中编译 ...
这个源码包未经过编译,意味着你需要自行进行编译和配置,以便在不同平台上部署和运行。 首先,uni-app的核心特性在于它的跨平台兼容性。它通过将Vue.js的语法转换为各个平台的原生代码,实现了代码的复用,极大地...
1. **确保环境配置正确**:确保你的开发环境已经正确安装了`repo`工具,并且版本兼容Android 4.0的源码编译需求。此外,还需要确认Python环境是否符合要求,因为错误日志显示使用的Python版本为2.6,而某些功能可能...
总的来说,编译Android源码是一个复杂的过程,需要耐心和精确的操作。遵循上述步骤并处理可能出现的错误,你将能够成功在Ubuntu 12.06 64位系统上编译Android 4.0.1。在整个过程中,保持对文档的查阅和更新是非常...
编译完成后,你会得到一个可供测试和调试的Android镜像,可以在模拟器或硬件设备上运行。 对于国产平板电脑上的Android 4.0,文中提及了一些误解,比如关于编译环境内存要求的谣言。实际上,即使在内存相对较低的...
### Android系统开发知识点详解 #### 一、概述 ...综上所述,本文档详细介绍了从下载Android源码到开发定制ROM的整个流程,旨在帮助技术团队成员更好地理解Android系统,并在此基础上进行更深层次的开发工作。
- "清茶TV.apk"和"电视直播_未加固_4.0.1.apk"应该是IPTV用户端的应用程序,用于接收和播放电视直播流。APK是Android应用程序的打包格式,这些文件在智能设备上安装后,用户可以浏览并选择各种电视频道进行观看。 ...