【问题标题】:How to change the screen size of vmlite android?如何更改vmlite android的屏幕大小?
【发布时间】:2012-09-19 11:14:29
【问题描述】:

我安装了vmlite's android image,这很好,但有一件事我没有找到解决方案:如何更改屏幕尺寸?

它有一个固定的屏幕宽度/高度比例,但我需要改变它来模拟一些安卓手机。

我搜索了很多但没有找到解决方案,请帮助。


更新

grub 菜单如下:

  1. 命令行 (hd0,2)/命令行
  2. kernel --use-cmd-line (hd0,2)/kernel
  3. initrd (hd0,2)/ramdisk

我已经使用这个命令添加了一个自定义尺寸:

VBoxManage.exe setextradata "android-vmlite" "CustomVideoMode1" "480x800x32"

然后将vga-ask 添加到所有 3 个菜单选项中,但都不起作用。

在它们上按b时,它不会要求选择型号。

【问题讨论】:

    标签: android vmlite


    【解决方案1】:

    好的,我做了一些研究,终于可以编辑虚拟盒子图像了。方法如下:

    如果您在启动时进入 vmlite 映像的 grub 条目,内核条目(带有“kernel”关键字的条目)有一个参数--use-cmd-line,这个cmdline 定义在第一个条目cmdline (hd0,2)/cmdline 中,它是一个文件名为cmdline 放置在引导硬盘的第三个分区内。

    这个文件有内核选项:

    init=/init qemu=1 console=ttyS0 console=tty0 vga=788 verbose androidboot.hardware=vbox_x86 androidboot.console=ttyS0 android.qemud=ttyS1
    

    现在您必须编辑这个名为 cmdline 的文件,将 vga=788 选项更改为 vga=ask。

    编辑:(在 Linux 机器上)

    你需要安装vdfuse。

    sudo apt-get install virtualbox-fuse

    在某处创建两个空文件夹。

    sudo mkdir /mnt/image

    sudo mkdir /mnt/partition

    然后将虚拟盒映像(vdi、vmdk 或 vhd 等)安装到文件夹。 (假设virtualbox磁盘映像文件是/tmp/vmlite.vmdk,我们会将其挂载到/mnt/image文件夹)

    vdfuse -w -f /tmp/vmlite.vmdk /mnt/image

    会在挂载文件夹中创建一些文件,名为 EntireDisk、Partition1、Partition2、Partition3 等.

    由于我们对第三个分区感兴趣,所以我们将对应的文件挂载到/mnt/partition:

    sudo mount -o loop /mnt/image/Partition3 /mnt/partition

    查看内容:

    sudo ls -l /mnt/partition

    会有 cmdline、ramdisk 和内核。

    现在我们编辑 cmdline 文件(我们将使用 gedit 文本编辑器,你可以使用你喜欢的):

    sudo gedit /mnt/partiton/cmdline

    进行编辑,将vga=788 更改为vga=ask,保存并关闭。验证新文件内容:

    sudo cat /mnt/partition/cmdline

    卸载文件和图像:

    sudo umount /mnt/partition

    sudo umount /mnt/image

    如果我们不需要这两个文件夹:

    sudo rm /mnt/image

    sudo rm /mnt/partition

    完成,从虚拟机启动映像。它会说按 ENTER 以查看可用的视频模式,在 Enter 时显示一个列表,输入选择的数字,或输入“扫描”以搜索更多显示模式。

    注意:并非所有模式都有效,请使用颜色深度为 24 或 32 并支持纵横比的 VESA 模式。

    【讨论】:

    • 再次感谢,效果很好!现在我可以将屏幕设置为 480x800x32 和 800x1280x32 :) 唯一奇怪的是我的应用程序的颜色发生了变化,看起来是 8bit 或 16bit,不像以前那么漂亮。
    • 当我将自定义颜色深度更改为 16 时问题已解决:800x1280x16 :)
    • 我忍不住再次感谢你:) 你为我节省了很多时间!
    • 16 位有效吗?虽然不在我的机器上。我很高兴能帮上忙。 :)
    【解决方案2】:

    请参考这个帖子:

    http://forum.xda-developers.com/showthread.php?p=19785371

    你可以在(hd0,2)里面修改这个文件,cmdline

    init=/init qemu=1 console=ttyS0 console=tty0 vga=788 详细 androidboot.hardware=vbox_x86 androidboot.console=ttyS0 android.qemud=ttyS1

    ==>

    init=/init qemu=1 console=ttyS0 console=tty0 vga=询问详细 androidboot.hardware=vbox_x86 androidboot.console=ttyS0 android.qemud=ttyS1

    感谢僚机的详细指导。

    另一种选择是将 vmdk 文件附加到正在运行的 linux 虚拟机(如果有的话),磁盘会自动挂载以简化操作。

    【讨论】:

    • 你修改了命令行文件吗?我刚测试过,会显示分辨率列表,按空格键
    • 你使用的是vmlite android镜像:vmlite.com/… ?
    • 是的,我是那个vm的作者,下个月会发布jelly bean vm,很有可能
    • 很高兴见到您,感谢您的出色工作,它为我节省了大量时间。希望它支持在下一个版本中轻松定义自定义屏幕尺寸:)
    猜你喜欢
    • 2016-12-28
    • 1970-01-01
    • 2023-03-11
    • 2021-07-13
    • 2016-04-22
    • 2011-10-24
    • 1970-01-01
    • 2015-09-24
    • 2017-09-02
    相关资源
    最近更新 更多