设为首页 加入收藏

TOP

Ubuntu下编译Android2.3源码问题集
2014-11-24 14:08:10 来源: 作者: 【 】 浏览:2
Tags:Ubuntu 编译 Android2.3 源码 问题

1. 解决Ubuntu安装sun-java6-jre时无法选择ok键的问题


先点一下tab键才能选ok键


2. 删除原来的JDK:


sudo apt-get remove sun-java6-jre sun-java6-plugin sun-java6-bin sun-java6-fonts


3. make clean ---> make update-api --> make


4. /etc/apt/sources.list,


执行 apt-get update 更新软件库


5. 无法获得锁 /var/lib/dpkg/lock


sudo rm /var/cache/apt/archives/lock


sudo rm /var/lib/dpkg/lock


6. 错误:


arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory


make: *** [out/target/product/generic/obj/EXECUTABLES/dalvikvm_intermediates/Main.o] 错误 1


---解决办法:可能是权限问题,到android源码目录下,直接chmod -R 777 *


7. 编译源码模块:


a. 首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:


build下的一个文件:


source build/envsetup.sh (前面要加上source,否则找不到mmm等命令)(不同的shell窗口都得运行该命令后才能使用mmm等命令)


b. 使用mmm命令来编译指定的模块,例如QuickSearchBox应用程序:


mmm packages/apps/QuickSearchBox/


c. 编译好模块后,还要重新打包一下system.img文件,这样我们把system.img运行在模拟器上时,就可以看到我们的程序了。


make snod


d. 模拟器到环境变量 运行模拟器


export PATH=$PATH:/mydroid2.30/mydroid/out/host/linux-x86/bin


export ANDROID_PRODUCT_OUT=/mydroid2.30/mydroid/out/target/product/generic


//注释 ~/Android/out/host/linux-x86/bin有我们要执行的emulator命令,而~/Android/out/target/product/generic是Android镜像存放目录,下面执行emulator命令时会用到。


emulator


8. 源码中存放app到路径 out/target/product/generic/system/app


刷机时,该路径中到apk都会成为系统自带应用。


9. 错误: ./adb devices 提示 no permissions


----解决办法:切换到root用户,使用adb kill-server, adb start-server 就可以了


----原因:adb需要在root权限时再启动才有权限。


10. 错误:编译的源码apk在真机上安装时会出现INSTALL_FAILED_OLDER_SDK问题


---解决办法:修改源码下build/core/version_defaults.mk文件,将


PLATFORM_VERSION := 2.3.1


PLATFORM_VERSION_CODENAME := REL


然后重新编译整个源码。


11. android分辨率的修改 && hdpi-mdpi


在文件 夹 build\target\product\generic.mk加入


CUSTOM_LOCALES:= hdpi mdpi ldpi


12. 错误:root用户使用gedit和emacs带图形界面的都出错


在终端切换至root,然后gedit某文件,结果报错:


(gedit:4987): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported**


GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion failed: (connection->initialization_error == NULL)


Aborted (core dumped)


-----解决方法:就是在管理员用户的 .bashrc 文件尾部添加:


export DBUS_SESSION_BUS_ADDRESS=""


13. 错误:进不了系统。修改了profile文件后,可能导致进不了系统(输入密码后,又返回输入密码的界面)


解决办法:a.在输入密码界面,按ctrl+alt+F1 键,进入命令行模式


b. 输入用户名和密码login


c. 执行命令 /usr/bin/sudo vi /etc/profile


d. 将文件修改回来后,重启电脑即可。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇从汇编的角度分析C语言 下一篇对于Java类加载过程中的顺序问题..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: