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

互联网 信息聚合网站 : www.yidin.net 最新最完整的业界信息

 接上期

查看文件信息和版本
yinchong@yinchong-ThinkPad-W510:/usrb/gcc/x86_64-linux-gnu/4.6.1$sudo ls -l /usrbbtinfo*
-rw-r--r-- 1 root root 261726 2011-09-17 03:31/usrbbtinfo.a
lrwxrwxrwx 1 root root     182011-10-27 12:14 /usrbbtinfo.so -> bbtinfo.so.5

编译完成SDK 就要启动模拟器
Android list 查看可以用的 sdk 和 avd  发现 为空
自己编译的android sdk无法识别各版本platform的问题
进入编译结果目录 out/hostnux-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/hostnux-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:prebuiltnux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够
/bin/bash:prebuiltnux-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/hostnux-x86/bin/apicheck: 权限不够
解决:
chmod a+xprebuiltnux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc
对所有没有权限的文件增加可执行权限
 
欢迎各位同学加入 android 技术群 155595043   
个人微博: http://weibo.com/338226333有问题可以微博商讨
原文地址:https://www.cnblogs.com/ondream/p/2513141.html