2013-12-14 55 views
44

使用AVD管理器創建新的Android 4.4虛擬設備時,我無法獲得大於200MB的內部存儲。Android 4.4虛擬設備內部存儲不會調整大小

512MB是我想要設置的內部存儲大小。

我已經試過:

  • 在AVD管理設置設備的內部存儲爲512MB。
  • 在Eclipse項目調試配置中,在目標選項卡下,將其他仿真器命令行選項設置爲分區大小512.
  • 在Eclipse首選項的Android下,我將默認仿真器選項設置爲-partition-size 512 。
  • 下(用戶)/。機器人/ AVD /(裝置)編輯我的虛擬設備配置文件.avd /的config.ini
    • 然後disk.dataPartition.size設置爲disk.dataPartition.size = 512M
    • 還嘗試將其設置爲disk.dataPartition.size = 512MB
    • 還試圖將其設置爲data.dataPartition.size = 512M

這發生在ARM和英特爾凌動x86 CPU的。

現在,當我切換到Android 3.0(ARM)時,我可以簡單地使用AVD管理器調整我的心中的內容。 Android 4.4有問題嗎?有什麼我錯過了嗎?或者可能的解決方法?

+3

以下Android的問題是開放的這個bug。截至9/15/2014的當前狀態已分配/分類。 https://code.google.com/p/android/issues/detail?id=75141 – jkwuc89

回答

52

現在模擬器文件系統EXT4是我能夠使用標準的Linux工具來重新大小的userdata.img

# Navigate to AVD 
cd ~/.android/avd/Nexus5 
# Delete old image 
rm userdata-qemu.* 
# Re-size the image 
resize2fs userdata.img 512M 
# Start the emulator and enjoy 
emulator @Nexus5 

編輯 我也能夠直接重新大小userdata-qemu.img但我不得不跑e2fsck第一。

e2fsck -f userdata-qemu.img 
resize2fs userdata-qemu.img 512M 
+0

不幸的是,這是唯一對我有用的方法。我必須切換到Linux,執行此操作,然後切換回Windows。這非常痛苦。 – Someone13

+2

Cygwin有一個e2fsprogs包可用。也許有一個MinGW端口。 – Frohnzie

+12

在Mac OS X上,使用自制軟件包管理器安裝這些工具時,您可以使用'brew install e2fsprogs'。由於默認情況下它們沒有被鏈接到'/ usr/local',所以你應該使用它們的完整路徑來運行它們。 '在/ usr /本地/庫/的e2fsprogs/1.42.9/sbin目錄/ resize2fs'。 – nerdinand

1

我能夠創建這個虛擬設備,也許改變你的設備類型或什麼?

enter image description here

+1

沒有爲我工作。我使用了與圖片中顯示的完全相同的設置。我也嘗試更新我的Android開發者工具,並更新4.4到4.4.2。還是同樣的問題。 – Someone13

+1

@ Someone13你是否更新過ti sdk經理?下載最新版本並進行測試。 –

0

阿薩夫G.的回答是好。但我注意到,在第一個用戶可以創建Emulator內部存儲500MB以下鏈接。但他得到一些exceptions但與內部存儲不相關。 而在另一個鏈接用戶能夠創建emulator內部存儲器4096MB。但他正面臨速度問題。所以我認爲你必須嘗試在第一個鏈接中提供的規格

1. Android 4.4 Emulator

2. android emulator forever launching

29

即使以上的建議可能會導致android模擬器掛在啓動標誌。原因是resize2fs做了一些通常是正確的更改,但被android視爲已損壞的fs,並阻止它將其掛載到rw模式,從而掛起啓動過程。

Examening啓動日誌顯示類似的東西:

EXT4-fs error (device mtdblock1): ext4_mb_generate_buddy:741: group 2, 32366 clusters in bitmap, 32370 in gd 

事件的e2fsck不解決它的Android和要解決它,我用tune2fs改變應該如何Android的繼續攀升破FS的方式。

tune2fs -e continue userdata-qemu.img 
+0

感謝您指出這一點。 – aefxx

+2

謝謝,這與上面接受的答案相結合,爲我工作! – nerdinand

+0

是的,我不得不這樣做,讓模擬器啓動超過Android引導標誌。 –

5

Someone13,這絕對是一個目標錯誤:「是Android 4.4.2 - API等級19」

我有同樣的problem-不能更改設備的內部存儲空間的大小在Android SDK的模擬器中使用Android 4.4.2時,Android SDK的模擬器決不會(即使在config.ini中帶有「disk.dataPartition.size = xxxM」或帶有命令提示參數「-partition-size xxx」)。

的唯一方法是設置自定義尺寸使用與目標時:Android 3.0的 - API級別11

我的硬件:Windows 7旗艦版SP1,4GB內存; Core Duo 2.28GHz; GT630

0

對我來說,當我意外地在Android Studio中選擇了AOSP 4.4.2模擬器時,這是個問題。 Google Inc. x86模擬器(下圖)似乎沒有這個錯誤。

enter image description here

0

刪除/data/data/com.google.android.gms/files會釋放200M +

0

要建立對@ Frohnzie的回答,resize2fs,且e2fsck現在包括在SDK Tools(你可能需要更新您的SDK工具才能看到它們),因此您無需單獨安裝它們。它們位於yourAndroidSDKFolder/tools/bin(Windows,Linux)或yourAndroidSDKFolder/tools/bin64(Mac,Linux)中。

+0

不知道爲什麼這個答案有一個downvote。 +1,爲我工作。下面是一個例子(由Xamarin安裝Android SDK):'〜/ Library/Developer/Xamarin/android-sdk-macosx/emulator/bin64/resize2fs〜/ .android/avd/avdname.avd/userdata.img 1024M'。如果你在'avd create'之後運行,但是在第一次啓動模擬器之前,這是你唯一需要的命令。 –

4

如果您在2016年仍然遇到此問題,請嘗試從AVD管理器中刪除圖像,然後添加模擬器。

似乎我不能調整模擬器的大小,不管我做什麼,但它在我刪除圖像然後用1GB內部存儲器重新創建圖像時起作用。

0

在這裏,似乎有一些捕獲,在比22版老版本的Android工具,這是行不通的。我將android工具升級到23,並開始工作。

我的配置是 API等級21 CPU:英特爾X86 操作系統:Ubuntu Linux操作系統