android ubuntu12.04?ubuntu android模拟器

大家好,感谢邀请,今天来为大家分享一下android ubuntu12.04的问题,以及和ubuntu android模拟器的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

Ubuntu 12.04 下安装 openGL 驱动时,究竟做了什么事

Ubuntu下安装 openGL驱动的确把我折腾惨了

本人机器是 HP的使用 i5的集成显卡

下载了 intel的 installer(intel-linux-graphics-installer_1.0.1_amd64.deb),他们不支持Ubuntu 12.04,只支持 13.x

找了个 ATI x1300的老显卡,官方的驱动(ati-driver-installer-9-3-x86.x86_64.run)只支持了 Ubuntu 8.x 9.x(让我深感,计算机真是消费品,过时了就用不起来了)

只好买了一个 Nvidia GT610显卡,下载官方的 NVIDIA-Linux-x86_64-331.49.run,顺利装上了

这驱动做了如下的事情:

1)把驱动装到 Kernel中(我升级了 Kernel,又了重装驱动)

2)把/usr/lib/libGL.so替换为 Nvidia的(用 ldd看就知道了),当然要把nvidia自己的 so也copy到,这几个目录

[html] view plaincopy在CODE上查看代码片派生到我的代码片

ldd/usr/lib/libGL.so

linux-vdso.so.1=>(0x00007fffe91ff000)

libnvidia-tls.so.331.49=>/usr/lib/tls/libnvidia-tls.so.331.49(0x00007fa1a58c0000)

libnvidia-glcore.so.331.49=>/usr/lib/libnvidia-glcore.so.331.49(0x00007fa1a30b1000)

libX11.so.6=>/usr/lib/x86_64-linux-gnu/libX11.so.6(0x00007fa1a2d7b000)

libXext.so.6=>/usr/lib/x86_64-linux-gnu/libXext.so.6(0x00007fa1a2b6a000)

libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007fa1a27aa000)

libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007fa1a25a5000)

libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007fa1a22a9000)

libxcb.so.1=>/usr/lib/x86_64-linux-gnu/libxcb.so.1(0x00007fa1a208b000)

/lib64/ld-linux-x86-64.so.2(0x00007fa1a5e15000)

libXau.so.6=>/usr/lib/x86_64-linux-gnu/libXau.so.6(0x00007fa1a1e87000)

libXdmcp.so.6=>/usr/lib/x86_64-linux-gnu/libXdmcp.so.6(0x00007fa1a1c81000)

对于 i386的支持库,放在/usr/lib32中

[html] view plaincopy在CODE上查看代码片派生到我的代码片

ldd/usr/lib32/libGL.so

linux-gate.so.1=>(0xf7718000)

libnvidia-tls.so.331.49=>/usr/lib32/tls/libnvidia-tls.so.331.49(0xf75f1000)

libnvidia-glcore.so.331.49=>/usr/lib32/libnvidia-glcore.so.331.49(0xf53ac000)

libX11.so.6=>/usr/lib/i386-linux-gnu/libX11.so.6(0xf5277000)

libXext.so.6=>/usr/lib/i386-linux-gnu/libXext.so.6(0xf5265000)

libc.so.6=>/lib/i386-linux-gnu/libc.so.6(0xf50bb000)

libdl.so.2=>/lib/i386-linux-gnu/libdl.so.2(0xf50b6000)

libm.so.6=>/lib/i386-linux-gnu/libm.so.6(0xf508a000)

libxcb.so.1=>/usr/lib/i386-linux-gnu/libxcb.so.1(0xf5068000)

/lib/ld-linux.so.2(0xf7719000)

libXau.so.6=>/usr/lib/i386-linux-gnu/libXau.so.6(0xf5064000)

libXdmcp.so.6=>/usr/lib/i386-linux-gnu/libXdmcp.so.6(0xf505d000)

开发 Android时使用, Android使用 i386是从/usr/lib/i386-linux-gnu装载

所以要把 lib32中所有文件复制到/usr/lib/i386-linux-gnu

3) Xorg相关

Xorg是开源的 Xserver实现

nvidia要与Xorg集成的库,放在usr/lib/xorg/modules下面,并改下/etc/X11下面的东西

xorg.conf

让 Xorg加载 so

[html] view plaincopy在CODE上查看代码片派生到我的代码片

Section"Module"

Load"record"

Load"extmod"

Load"dbe"

Load"dri2"

Load"glx"

EndSection

装载/usr/lib/xorg/modules/extensions/下面的 libglx.so, libdri2.so等

让 Xorg加载 nvida驱动

[html] view plaincopy在CODE上查看代码片派生到我的代码片

Section"Device"

Identifier"Card0"

Driver"nvidia"

BusID"PCI:1:0:0"

EndSection

附带转帖

Ubuntu通过重新生成/etc/X11/xorg.conf文件来调整分辨率

1. Ctrl+Alt+F1, sudo service gdm stop

2. sudo Xorg-configure(生成文件~/xorg.conf.new)

3. sudo service gdm start

4. mv~/xorg.conf.new/etc/X11/xorg.conf

5. gtf 1280 1024 60-x

6.然后将上一步中gtf命令生成的内容:

Modeline"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060-HSync+Vsync

插入到/etc/X11/xorg.conf中:

Section"Monitor"

Identifier"Monitor0"

VendorName"Monitor Vendor"

ModelName"Monitor Model"

Modeline"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060-HSync+Vsync

EndSection

重新启动X。搞定。

如果不想生成xorg.conf文件,并且只想临时的调整分辨率,那么可以按照如下方法实现:

cvt 1280 1024

sudo xrandr--newmode"1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063-hsync+vsync

sudo xrandr--addmode VGA1"1280x1024_60.00"

sudo xrandr--output VGA1--mode"1280x1024_60.00"

就可以临时的调整分辨率到1280x1024.

ubuntu12.04编译android源码要多久

这个关键是要看你的电脑配置情况,以及代码的附加情况,有的平台软件会附加很多东西上去,编译就比较慢了。

我们这边使用的是四核八线程的电脑,32GB内存,

原生代码 4.4八线程编译40分钟左右,5.1,一个半小时左右,6.0的大约一个小时,以上是原生代码编译模拟器的时间。

高通代码6.0编译一般需要两个小时左右,mtk的也是两个小时左右,

如何用ubuntu 12.04 32bit 编译android 4.4.4

系统环境

系统:Ubuntu12.04 64位系统。

源码:Android4.4源码。

选择Ubuntu12.04,是因为在14.04上没能折腾成功,在上面兼容32位程序的配置有点烦。12.04必须要用64位的,编译Android4.4时需要64位环境,同时要兼容32位程序,折腾。

步骤

配置jdk6

Android官方给的步骤是用OpenJdk,实测是不行的。网上找到

这个网址有需要的jdk,下载自解压安装包。自解压后在当前目录下生成一个jdk的目录,打开/etc/environment,增加自己的jdk

bin目录到PATH里面。同时新增如下环境变量:

CLASSPATH=/path/to/your/local/jdk/dir/lib

JAVA_HOME=/path/to/your/local/jdk/dir

然后执行如下命令,设置系统的默认jdk:

$ sudo update-alternatives--install/usr/bin/java java/usr/local/java/jdk1.6.0_38/bin/java 300

$ sudo update-alternatives--install/usr/bin/javac javac/usr/local/java/jdk1.6.0_38/bin/javac 300

$ sudo update-alternatives--install/usr/bin/javaws javaws/usr/local/java/jdk1.6.0_38/bin/javaws 300

$ sudo update-alternatives--install/usr/bin/jar jar/usr/local/java/jdk1.6.0_38/bin/jar 300

$ sudo update-alternatives--install/usr/bin/javap javap/usr/local/java/jdk1.6.0_38/bin/javap 300

$ sudo update-alternatives--config java

安装软件包

能装的都要装上,以免编译失败,又要回过头重装,如下:

$ sudo apt-get install build-essential make gcc g++ libc6-dev texinfo

libncurses-dev git-core gnupg flex bison zip curl ncurses-dev libsdl-dev

zlib1g-dev ia32-libs libxml2-utils lzma

编译源码

到源码目录下,如下:

$ source build/envsetup.sh

$ lunch

选择arm平台。

$ make-jn

n为CPU个数的两倍,主要是提高编译速度。

可能的错误

编译过程碰到如下错误:

File"/usr/lib/python2.7/subprocess.py", line 679, in __init__

errread, errwrite)

File"/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child

raise child_exception

OSError: [Errno 2] No such file or directory

一般情况是因为前面的javap没有配置所致。如果必须的软件包没有安装,也会有类似的提示,仔细向上翻看错误提示,找到真正的错误地方,安装对应的软件包即可。

阅读剩余
THE END