更换64位ubuntu12.04后一些软件的配置问题

来源:互联网 发布:linux jdk 中没有jre 编辑:程序博客网 时间:2024/06/08 01:18
为了编译android4.2的系统,昨天把系统替换成了64位的ubuntu12.04,遇到了一些问题,特此记录一下。

1、首先是系统安装好了之后,启动不了了,出现了grub resume的错误
    error: invalid arch independent ELF magic

    这个错误是grub的问题,估计是32位到64位系统出现了问题,因为之前32位的ubuntu之间替换的时候,没有出现过类似的问题。
    首先,利用刚才装系统的U盘,从U盘启动进入系统,记得装系统的时候,系统的根目录是哪个盘,例如我的是/dev/sda7,并且整个系统目录就只挂载在这个sda7上
    然后,进入命令行,执行
    sudo mount /dev/sda7 /mnt
    sudo grub-install --root-directory=/mnt /dev/sda
    这样,相当于重新安装了grub,会更新你"/"目录下的boot文件里的grub
    接着,重新启动,此时应该就能够进入ubuntu经典的选择系统的界面了(我的是双系统),不过可能有点乱码,没关系,等系统起来之后,进入命令行,执行
    sudo update-grub
    如果再次重启的话就正常了

2、eclipse的问题
    之前的android工程,在32位系统上应该是正常的,但是,由于要采用64位的eclipse,于是就找了个版本,因为之前的SDK版本只到API15,而找的eclipse因为是拷贝的别人的,报ADT版本过旧,于是下载了最新的ADT-22,顺便也下了一个最新的eclipse 64位,配置好之后,警告SDK应该升级到API17以匹配ADT-22,刚开始我没有理会,于是出了一些找不到R文件的错误。
    查了一些资料,说要手动命令行ant编译一下,然后eclipse就找到R了,刚好学习一下
    首先,利用android命令,更新一下工程
    android update project -p . -t android-15
    会修复build.xml和local.properties等文件
    然后,执行
    ant debug
    如果不出错的话,就可以生成xxx-debug.apk包
    此时,eclipse中应该就不会有R文件报错了

    但是,如果这时候运行了eclipse的clean命令的话,又会被删掉了,这个用的实在不方便,于是怀疑是ADT和SDK以及SDK tools等不对应,索性全部升级吧。官网下载了android-sdk_r22-linux.tgz,这只是SDK_r22的工具而已,你可以合并到你原来的SDK目录,然后eclipse打开SDK Manager对话框,对应着升级SDK吧。
    果然,等升级完成之后,你clean时,就不会删掉gen目录下的R.java文件了,也就跟之前32位版本一样了

3、virtualbox的USB功能
    之前安装的是ubuntu软件中心里面的版本,完成之后还需要在命令行安装virtualbox-guest-additions包,然后在虚拟机XP里面点安装增强工具,然后在虚拟机的设置选项里面打开USB功能,不过之前就遇到过,这样做,有的时候能识别USB,有的时候又不能识别了,就像这次64位的系统,又识别不了了。
    由于ubuntu软件中心只是安装开源版的软件,像virtualbox有两个版本据说,一个开源一个不开源的,不开源的版本里面自带了USB功能了,好像也有那个增强包,也就不用在ubuntu上命令行另外安装了。从下面的网站下载对应的virtualbox版本
    http://www.virtualbox.org/wiki/Linux_Downloads
    把自己加入到vboxusers组。也就是在终端中输入:
    sudo adduser 你的用户名vboxusers
    然后退出,重新登录一次。
    这样,USB就能够稳定的被识别了。

4、导入的eclipse工程,显示包名而不是工程名的解决方法
    不用File -> Import -> Android -> Existing Android Code into Workspace,而是用 File -> Import -> General -> Existing Projects into Workspace。这个方案是可行的。
    出现这个现象可能是eclipse的版本和adt的匹配有问题。如果是匹配的话,就没问题。

原创粉丝点击