运行Android模拟器的问题:“警告:数据分区已在使用中”

时间:2012-11-28 02:55:08

标签: android android-emulator android-build

我似乎在使用Android模拟器时遇到了一些问题。我按照所有说明正确构建它,我可以像这样运行模拟器:

emulator -sysdir out/target/product/generic/ \
 -system out/target/product/generic/system.img \
 -ramdisk out/target/product/generic/ramdisk.img \
 -kernel kernel-goldfish-xattr-2.6.29 \ 
 -sdcard tdroidsd.img -skindir development/tools/emulator/skins \
 -data out/target/product/generic/userdata.img \
 -skin WVGA800 \
 -memory 512 -partition-size 500

这适用于启动模拟器。但是,每当我启动它时,我都会收到以下警告:

WARNING: Data partition already in use. Changes will not persist!

这是一个很大的痛苦,因为每当我重新启动或杀死模拟器时,我安装的任何应用程序都会消失。

我看到stackoverflow上有很多与此相关的主题,我检查了以下内容:

  • 存在锁定文件:无
  • adb-server:杀死它并重新启动它不会产生不同的

我应该注意到,我没有使用Eclipse,而且我在Linux机器上(Gentoo)。

使用详细运行显示以下内容:

emulator: autoconfig: -initdata out/target/product/generic/userdata.img
disk.ramdisk.path = out/target/product/generic/ramdisk.img
disk.systemPartition.initPath = out/target/product/generic/system.img
disk.systemPartition.size = 500m
disk.dataPartition.path = out/target/product/generic/out/target/product/generic/userdata.img
disk.dataPartition.size = 500m
avd.name = <build>

看来disk.dataPartition.path设置会以某种方式出现乱码,但我不确定原因。我的.bashrc

中有以下内容
 export PATH="~/bin:$PATH"
 export ANDROID_PRODUCT_OUT="~/tdroid/tdroid-4.1.1_r6/out/target/product/generic"
 export PATH="~/tdroid/tdroid-4.1.1_r6/system/core:$PATH"
 export ANDROID_BIN="~/tdroid/tdroid-4.1.1_r6/out/host/linux-x86/bin"
 export ANDROID_QTOOLS="~/tdroid/tdroid-4.1.1_r6/development/emulator/qtools"
 export ANDROID_TOOLCHAIN="~/tdroid/tdroid-4.1.1_r6/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin"
 export ANDROID_EABI_TOOLCHAIN="~/tdroid/tdroid-4.1.1_r6/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin"
 export ANDROID_HOST_OUT="~/tdroid/tdroid-4.1.1_r6/out/host/linux-x86"
 PATH=$ANDROID_BIN:$PATH
 PATH=$ANDROID_HOST_OUT:$PATH

如果有人能指导我完成这些混乱,我会非常感激!

2 个答案:

答案 0 :(得分:1)

我发现这个问题正在寻找同样的问题。你提到的乱码disk.dataPartition.path让我更多地玩弄路径。我从system.imguserdata.img删除了sysdir路径。请注意,ramdisk.imgsdcard.img仍需要该路径。一旦我做了这个改变,错误就消失了。这是我更新的脚本。

emulator \
   -sysdir img/ \
   -system system.img \
   -ramdisk img/ramdisk.img \
   -data userdata.img \
   -kernel prebuilts/qemu-kernel/arm/kernel-qemu-armv7 \
   -sdcard img/sdcard.img \
   -skindir sdk/emulator/skins \
   -skin WVGA800 \
   -memory 512 \
   -partition-size 1024

答案 1 :(得分:0)

我遇到了同样的问题,我使用sysdir的相对路径解决了数据参数问题。