fedora 18 安装android


目录(?)
[+]

操作系统和android的版本

使用环境:fedora 18 x86_64

android版本:android-4.2

安装依赖环境

<1>安装系统相关软件包

[plain]  view plain copy
  1. yum install -y zip curl gcc gcc-c++ flex bison gperfglibc.i686 glibc-devel.x86_64glibc-devel.i686, zlib-devel.x86_64zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libstdc++.i686 libsx-devel readline-devel.i686 libXrender.i686 libXrandr.i686 schedtool pngcrush perl-Tk perl-Digest-MD5  perl-Switch SDL.i686 mesa-libG   

<2>安装JDK:

卸载openjdk

[plain]  view plain copy
  1. rpm -qa|grep open|grep jdk|xargs rpm -e --nodeps  
下载并安装sun-jdk,在此使用的是jdk-6u45-linux-x64.bin

[plain]  view plain copy
  1. cp jdk-6u45-linux-x64.bin /usr/local;  
  2. cd /usr/local;  
  3. sh jdk-6u45-linux-x64.bin;  

将java设置到环境变量中去,在文件/etc/bashrc中添加以下行

[plain]  view plain copy
  1. export JAVA_HOME=/usr/local/jdk1.6.0_45  
  2. export PATH=$PATH:$JAVA_HOME/bin  

下载及编译

下载源代码

编译源码

<1>设置缓存
[plain]  view plain copy
  1. export USE_CCACHE=1  
  2. prebuilts/misc/linux-x86/ccache/ccache -M 50G  

<2>编译
[plain]  view plain copy
  1. source build/envsetup.sh;  
  2. lunch full-eng;  
  3. make -j2  

编译sdk

[plain]  view plain copy
  1. make -j2 PRODUCT-sdk-sdk  

编译golden_fish内核

<2>参照 http://source.android.com/source/building-kernels.html配置编译环境,将以下加入到环境变量中,其中android源代码位置为:/home/android/android
[plain]  view plain copy
  1. export ARCH=arm  
  2. export SUBARCH=arm  
  3. export CROSS_COMPILE=arm-eabi-  
  4. export PATH=$PATH:/home/android/android/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin  
<3>执行以下命令进行编译
[plain]  view plain copy
  1. make goldfish_armv7_defconfig  
[plain]  view plain copy
  1. make -j2  

运行模拟器

<1>将sdk加入到环境变量,其中android源代码位置为:/home/android/android
[plain]  view plain copy
  1. export SDK_DIR=/home/android/android/out/host/linux-x86/sdk/android-sdk_eng.android_linux-x86  
  2. export PATH=$PATH:$SDK_DIR/tools  
<2>创建sdcard
[plain]  view plain copy
  1. mksdcard 512M sdcard.img;  
  2. android create avd --target 1 --name test --sdcard sdcard.img;  
  3. android list avd;  
<3>检验emulator是否可用
[plain]  view plain copy
  1. emulator @test  
将进入到android模拟器的界面,并能够启动系统。
<4>检验核心是否可用
[plain]  view plain copy
  1. emulator @test -kernel kernel/goldfish/arch/arm/boot/zImage  
<5>通过模拟器运行整个系统
[plain]  view plain copy
  1. emulator @test  -kernel /home/android/android/kernel/goldfish/arch/arm/boot/zImage -system /home/android/android/out/target/product/generic/system.img -data /home/android/android/out/target/product/generic/userdata.img -ramdisk /home/android/android/out/target/product/generic/ramdisk.img  
将进入到android运行界面。

tips

<1>运行emulator时如果出现故障,可使用

[plain]  view plain copy
  1. LIBGL_DEBUG=verbose emulator  

命令来显示更多的调试信息。

<2>编译源码时,会覆盖sdk,为了避免重新编译sdk,最好将文件

[plain]  view plain copy
  1. /home/android/android/out/host/linux-x86/sdk/android-sdk_eng.android_linux-x86.zip  
备份。

遇到的问题

<1>编译时出现

[plain]  view plain copy
  1. Can't locate Digest/MD5.pm in @INC  
解决方法:

[plain]  view plain copy
  1. yum install perl-Tk perl-Digest-MD5  

<2>编译时出现

[plain]  view plain copy
  1. Can't locate Switch.pm in @INC  

解决方法:

[plain]  view plain copy
  1. yum install perl-Switch  

<3>运行emulator时出现

[plain]  view plain copy
  1. SDL init failure, reason is: No available video device  
解决方法:

[plain]  view plain copy
  1. yum install SDL.i686; reboot  
<4>运行模拟器时出现

[plain]  view plain copy
  1. error libGL.so: cannot open shared object file: No such file or directory  
  2. Failed to load libGL.so  
解决方法:

[plain]  view plain copy
  1. yum install mesa-libG  
  2. cd /usr/lib64; ln -s libGL.so.1.2.0 libGL.so  


转载请保留原始博客地址:http://blog.csdn.net/u010759010/article

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值