您的位置:首页 > 移动开发 > Android开发

android 源码编译问题总结(二)

2012-05-22 12:42 411 查看
互联网 信息聚合网站 : www.yidin.net 最新最完整的业界信息

接上期

查看文件信息和版本
yinchong@yinchong-ThinkPad-W510:/usr

b/gcc/x86_64-linux-gnu/4.6.1$sudo ls -l /usr

b

btinfo*
-rw-r--r-- 1 root root 261726 2011-09-17 03:31/usr

b

btinfo.a
lrwxrwxrwx 1 root root 182011-10-27 12:14 /usr

b

btinfo.so ->

b

btinfo.so.5

编译完成SDK 就要启动模拟器
Android list 查看可以用的 sdk 和 avd 发现 为空
自己编译的android sdk无法识别各版本platform的问题
进入编译结果目录 out/host

nux-x86/sdk/android-sdk_eng.cmoaciopm_linux-x86/tools 发现android-2.3是存在的,那为什么SDKManager检测不到呢?

SDKManager无法检测到Installpackages的原因了,我所检出的androidgingerbread源代码编译出的sdk目录结构与SDKManager检测逻辑是不一致的。
android在2.3对sdk目录结构进行了调整,将platform下面的tools文件夹移动到SDK根目录下,命名为platform-tools(里面包含了该platform的aapt和adb等工具。这样,platform在各操作系统下都统一了,不需要再为不同操作系统发布不同的platform,仅发布不同的platform-tools即可)。
可见gingerbreak代码分支中sdkmanager的代码不是“最新的”,没有与编译出来的sdk目录结构保持一致。
做了软链接,骗过sdkmanager,重启检测一切正常
ln-sf /home/justin/android/src/out/host

nux-x86/sdk/android-sdk_eng.justin_linux-x86/tools ~/android/sdk
根据自己的路径设置吧

启动虚拟机出现
SDL init failure, reason is: No available video device: OnUbuntu64
问题需要安装
apt-get install ia32-libs lib32stdc++6

问题Cannot load 32-bit SWT libraries on 64-bit JVM
1.For Eclipse, go to Eclipse -> Preferences -> Java -> Installed JRE
2.For Flash Builder, go to Flash Builder -> Preferences -> Java ->Installed JREs Then, edit the selected Java VM, adding the following value forthe Default VM Arguments field -d32

常见的错误请参考
http://0123.blog.163.com/blog/static/47883120101024104416786/ http://www.threeway.cc/sitecn/informationInfo.aspx?tid=1382&pid=2445

找不到-lstdc++
/usr/bin/ld: cannot find -lstdc++
解决方法:
安装g++-multilib,lib32z1-dev 和 lib32ncurses5-dev
apt-get installg++-4.2-multilib lib32z1-dev lib32ncurses5-dev

权限不够遇到多次
/bin/bash:prebuilt

nux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够
/bin/bash:prebuilt

nux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够
/bin/bash: build/core/find-jdk-tools-jar.sh:权限不够
/bin/bash:build/tools/findleaves.py: 权限不够
/bin/bash:build/tools/findleaves.py: 权限不够
Checking API:checkapi-last
/bin/bash:out/host

nux-x86/bin/apicheck: 权限不够
解决:
chmod a+xprebuilt

nux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc
对所有没有权限的文件增加可执行权限

欢迎各位同学加入 android 技术群 155595043
个人微博: http://weibo.com/338226333有问题可以微博商讨
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: