最近做Android方面的项目中,用到JNI,就搭建了一个android ndk环境,但用cygwin编译so库慢的实在受不了,因此搭建了一个linux(Ubuntu)虚拟机。虚拟机(vmware)和ubuntu很快就创建好了,但ubuntu和主机(windows xp)共享文件老是出问题,连续进行了3天,到现在才解决,本人是Android方面的菜鸟,如有错误望不吝赐教。下面是一些总结:
- Linux虚拟机与主机连通网络
- Linux虚拟机与主机共享文件
- 配置Android NDK
1.linux虚拟机与主机连通网络
刚开始直接安装vmware tools,想按网上的方法,实现文件共享,但vmware tools 就是安装不上,安上了也共享不了,试到第2天才发现虚拟机根本ping不通主机,原来忙活了大半天,根本原因在这呢。
<1> 桥接
在”Virtual Machine Settions”–> “Network Adapter”中在选择 “Briged”并勾选下面的复选框。
在linux系统中设置网络连接,IPv4设置为“手动”,将IP设置为和主机在一个网段上那可,如:
主机IP:192.168.0.104
主机子网掩码:255.255.255.0
主机网关:192.168.0.1
主机DNS:222.222.222.222
则相应linux可设置为:192.168.0.105,其他和主机相同那可。
<2>NAT
在”Virtual Machine Settions”–> “Network Adapter”中在选择 “NAT”。linux中设置网络连接IPv4为“自动(DHCP)”即可。
2.linux虚拟机与主机共享文件
貌似最简单的方法是安装vmware tools,但我试了将近两天死活就是装不上,拷了别人一个装好的到我这儿就是共享不了。最后找到下面的方法,算是可以了:
将主机的共享目录挂载到linux虚拟机中
主机机ip:192.168.0.104
主机共享文件夹:jni
主机用户名:Administrator
主机密码:123
Ubuntu挂接文件夹:/mnt/share
挂接命令为: mount //192.168.0.4/jni /mnt/share -o username=Administrator,password=123,dmask=777,fmask=777,codepage=cp936,uid=0
但这样不支持Ubuntu启动时自动加载,每次启动时要共享需挂接一次,勉强能用了,别关机就是了,呵呵。
3.配置Android ndk
解压android ndk,然后设置环境变量:
<1> /etc/profile
最后加上:
export NDK=/root/xfeng/android-ndk-r8d (ndk的解压目录)
export PATH=$NDK:$PATH
在终端下输入:source /etc/profile 使命令生效
<2> /etc/bash.bashrc
和/etc/profile一样加上上面两句命令,
在终端下输入:source /etc/bash.bashrc使命令生效,但与修改/etc/profile不同,它重启终端后环境变量仍然有效
验证设置:
$NDK
bash:/root/xfeng/android-ndk-r8d:是一个目录
$NDK/ndk-build
Android NDK:Could not find application project drectory!
Android NDK:Please defile the NDK_PROJECT_PATH variable to point to it.
/root/xfeng/android-ndk-r8d/build/core/build-local.mk:130:*** Android NDK:Aborting .Stop.
虽然由于当前目录下没有jni目录也没有Android.mk,但出现上面的错误提示也可以证明环境变量起作用了。
更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11