android源码编译环境的准备及编译之后使用emulator运行的方法 - 官方版
2015-06-16 16:35
621 查看
http://source.android.com/source/initializing.html
http://blog.csdn.net/ithomer/article/details/6977386
android 源码的make需要的本地辅助库:
然后建立一个链接文件:
这样就可以make了。
从模拟器的运行方法:
out/host/linux-x86/bin/emulator -sysdir out/target/product/generic/ -system out/target/product/generic/system.img -ramdisk out/target/product/generic/ramdisk.img -data out/target/product/generic/userdata.img -kernel /home/hzh/oldhome/learn/goldfish/arch/arm/boot/zImage -scale 1.0 -memory 512 -partition-size 1024
==================
如果出现:
错误,则用以下方法解:
编译mstar平台ics环境的过程中中出现问题:
lzop: error while loading shared libraries: liblzo2.so.2: wrong ELF class: ELFCLASS64
出现原因:lzop命令本省是32bit,lzop使用的是android环境编译出来的二进制文件,而非系统自带的lzop命令,在64bit系统上面默认安装的lzop为64bit,而android编译出来的为32bit。在执行lzop时,系统尝试加载对应32bit动态库文件,但是在usr/lib 目录下面只有64bit的elf文件,无法批评所有出现问题。
解决办法:
手动安装32bit liblzo2安装包。
执行如下命令:
sudo apt-get install liblzo2:i386
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.a when searching for -lstdc++
http://blog.csdn.net/ithomer/article/details/6977386
android 源码的make需要的本地辅助库:
sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib tofrodos uboot-mkimage \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386
然后建立一个链接文件:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
这样就可以make了。
从模拟器的运行方法:
out/host/linux-x86/bin/emulator -sysdir out/target/product/generic/ -system out/target/product/generic/system.img -ramdisk out/target/product/generic/ramdisk.img -data out/target/product/generic/userdata.img -kernel /home/hzh/oldhome/learn/goldfish/arch/arm/boot/zImage -scale 1.0 -memory 512 -partition-size 1024
==================
如果出现:
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libz.so when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libz.a when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/liblzo2.so when searching for -llzo2 /usr/bin/ld: cannot find -llzo2
错误,则用以下方法解:
编译mstar平台ics环境的过程中中出现问题:
lzop: error while loading shared libraries: liblzo2.so.2: wrong ELF class: ELFCLASS64
出现原因:lzop命令本省是32bit,lzop使用的是android环境编译出来的二进制文件,而非系统自带的lzop命令,在64bit系统上面默认安装的lzop为64bit,而android编译出来的为32bit。在执行lzop时,系统尝试加载对应32bit动态库文件,但是在usr/lib 目录下面只有64bit的elf文件,无法批评所有出现问题。
解决办法:
手动安装32bit liblzo2安装包。
执行如下命令:
sudo apt-get install liblzo2:i386
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.6/libstdc++.a when searching for -lstdc++
相关文章推荐
- Android学习4、Android该Adapter
- Android中如何查看内存(上)
- android 开机不弹出Launcher选择,直接进入需要默认的Launcher,
- android的onCreateOptionsMenu()创建菜单Menu详解
- Android static静态成员变量的使用误区
- android 几种发送短信的方法
- Android开发中StackOverflowError错误实例分析
- Android 5.0——Material Design详解
- android 编译调用C代码
- Android dumpstate 工具解析
- Android设置透明、半透明等效果
- Android bitmap OutOfMemory 避免措施
- 编译android源码提示/usr/bin/jar命令不存在问题的解决方法
- Android中自定义Dialog
- ANDROID L——Material Design详解(动画篇)
- Android学习记录之------R文件的优化
- android 状态栏及通知栏中的下载动画效果实现
- android第三方应用跳转到QQ并指定QQ号聊天
- android开发中解决VideoView显示尺寸异常的问题
- Android 颜色对照表