Giải pháp cho lỗi INSTALL_FAILED_INSUFFICIENT_STORAGE trên Android [đã đóng]


525

Các INSTALL_FAILED_INSUFFICIENT_STORAGElỗi là nguyên nhân suy sụp của cuộc sống mỗi nhà phát triển Android. Nó xảy ra bất kể kích thước ứng dụng, hoặc dung lượng lưu trữ có sẵn. Khởi động lại thiết bị đích sẽ khắc phục sự cố nhanh chóng, nhưng nó sẽ sớm quay trở lại. Có hàng trăm (nếu không phải hàng ngàn) bài đăng trên bảng tin từ những người hỏi tại sao sự cố xảy ra, nhưng những người ở Google đang im lặng một cách bực bội về vấn đề này.

Có một cách giải quyết đơn giản. Nếu thiết bị thử nghiệm của bạn đang chạy Android 2.2 trở lên thì hãy thêm android:installLocationthuộc tính vào tệp kê khai của ứng dụng, với giá trị "preferExternal". Điều này sẽ buộc ứng dụng phải được cài đặt trên bộ nhớ ngoài của thiết bị, chẳng hạn như thẻ SD của điện thoại.

Ví dụ:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.andrewsmith.android.darkness"
          android:installLocation="preferExternal"

Đây là một hỗ trợ băng tần hơn là một sửa chữa và nó có thể không lý tưởng nếu bạn muốn ứng dụng hoàn thành của mình cài đặt trên bộ nhớ trong của thiết bị. Nhưng ít nhất nó sẽ làm cho quá trình phát triển bớt bực bội hơn rất nhiều.


Nó sẽ hoạt động cho API Android cấp 4 hay 1.6 ??
mAc

tôi đã nhận được thông báo này trong tệp kê khai: -> lỗi: Không tìm thấy định danh tài nguyên nào cho thuộc tính 'installLocation' trong gói 'android' Xin trợ giúp
someone_ smiley

1
@AndrewSmith: bạn có thể vui lòng trả lời câu hỏi của bạn không? Chỉ tình cờ gặp câu hỏi này trong khi xem xét vì nó được gắn cờ là không phải là một câu hỏi thực sự . Mặc dù cờ về cơ bản là chính xác, sẽ thật xấu hổ nếu giải pháp bị mất.
eckes

Điều đầu tiên cần làm là: tìm hiểu xem vấn đề có thực sự liên quan đến không gian không! Xem câu trả lời của tôi về câu hỏi này để biết chi tiết.
Robert Siemer

1
Tôi đã có lỗi này trên trình giả lập Android. Trong studio android - AVD manager, có một tùy chọn để xóa dữ liệu trên một thiết bị cụ thể. Điều này đã khắc phục sự cố của tôi
Aseem

Câu trả lời:


178

Đây chỉ là một cách giải quyết tạm thời và không phải là một sửa chữa thực sự.

Sau khi điều này xảy ra với tôi và không hài lòng với các phản hồi hiện tại, tôi đã đi làm để cố gắng tìm ra nó từ nguồn AOSP. Tôi đã tìm thấy một giải pháp THỰC SỰ .

Giải trình

Trước hết, một chút nền tảng (đơn giản hóa) về cách cài đặt và cập nhật Android

Lần đầu tiên một ứng dụng được cài đặt:

  1. Các APK tập tin được lưu lại dưới dạng

    /data/app/<full.package.name>-1.apk  (1.apk)

Khi ứng dụng được cập nhật:

  1. Tệp APK cập nhật được lưu dưới dạng:

    /data/app/<full.package.name>-2.apk (2.apk)
  2. Phiên bản đầu tiên (1.apk) bị xóa.

Trên (các) bản cập nhật tiếp theo của chúng tôi:

  1. APK mới được lưu dưới dạng (1.apk) và (2.apk) bị xóa (Lặp lại mãi mãi).

 

Vấn đề mà hầu hết chúng ta đang gặp phải khi ứng dụng được cập nhật, nhưng việc xóa APK cũ không thành công. Bản thân nó chưa làm cho bản cập nhật bị lỗi, nhưng nó có hai tệp APK trong đó /data/app.

Lần tới khi bạn cố cập nhật ứng dụng, hệ thống không thể di chuyển tệp tạm thời vì cả (1.apk) và (2.apk) đều trống. Vì Tệp # renameTo (Tệp) không ném ngoại lệ mà thay vào đó trả về Gói Trình quản lý boolean, nên không có cách nào để biết lý do tại sao nó trả về INSTALL_FAILED_INSUFFICIENT_STORAGE mặc dù lỗi không liên quan đến dung lượng trống.

Giải pháp

Chạy:

adb shell "pm uninstall <full.packge.name>"
adb shell "rm -rf /data/app/<full.package.name>-*"

HOẶC LÀ

Gỡ cài đặt ứng dụng

Sử dụng phương pháp yêu thích của bạn để xóa CẢ HAI :

/data/app/<full.package.name>-1.apk

/data/app/<full.package.name>-2.apk

Hãy chắc chắn rằng không có gì khác chặn các cài đặt trong tương lai theo cách tương tự. Trong trường hợp của tôi, tôi đã có một /data/app-lib/<full.package.name>-1thư mục lảng vảng xung quanh! Trong trường hợp này, quá trình cài đặt vào thẻ SD cũng hoạt động và sau đó chuyển sang bộ nhớ trong. (Tạo /data/app-lib/<full.package.name>mà không có -1kết thúc.)

Tại sao các "giải pháp" khác hoạt động

  • Mã để cài đặt vào bộ nhớ ngoài khác nhau đáng kể, không có vấn đề tương tự

  • Gỡ cài đặt ứng dụng chỉ xóa một phiên bản của tệp APK /data/app. Đó là lý do tại sao bạn có thể cài đặt lại một lần, nhưng không cập nhật nó.

  • Lượng không gian trống trong trình giả lập không thực sự phù hợp khi xảy ra lỗi này


9
@ Msmit1993, bạn không có quyền truy cập vào thư mục dữ liệu trên thiết bị chưa root. Có SDK và ADB không thành vấn đề.
Stan

3
Đối với những người thực sự lười biếng, đây là một đoạn bash: function fix_app { adb shell "pm uninstall ${1}; rm -rf /data/app/${1}-*; su -c 'rm -rf /data/app-lib/${1}-*'" } $ fix_app com.facebook.katana
gnmerritt

1
Tôi cũng đã cố gắng android:installLocation="preferExternal"nhưng tất cả đều vô ích, không có gì hiệu quả trong trường hợp của tôi. Tôi đang sử dụng một thiết bị thực sự để thử nghiệm. Giải pháp trong trường hợp này là gì?
Ram Patra

1
Tôi phải xóa/data/local/tmp
18446744073709551615

1
Trong trường hợp của tôi, tôi thêm để cài đặt ứng dụng với adb install -f ... Nó đã từ chối cài đặt nó nếu không, mặc dù tôi có 1.7GB miễn phí trong bộ nhớ trong; có thể là vì tôi không có SDCARD. Nhưng với tùy chọn -f, ít nhất nó đã hoạt động, tôi không biết tại sao ...
xtof54

108

Bạn cần tăng dung lượng bộ nhớ của trình giả lập Android. Có hai cách cho việc đó:

  1. Nhấp chuột phải vào thư mục gốc của Dự án Android của bạn, đi đến "Chạy dưới dạng" và sau đó chuyển đến "Chạy cấu hình ...". Định vị nút "Ứng dụng Android" trong cây ở bên trái, sau đó chọn dự án của bạn và đi đến tab "Target" ở phía bên phải của cửa sổ nhìn xuống trường "Tùy chọn dòng lệnh giả lập bổ sung" (đôi khi bạn ' sẽ cần phải làm cho cửa sổ lớn hơn) và cuối cùng dán "kích thước kích thước 1024" ở đó. Nhấp vào Áp dụng và sau đó Chạy để sử dụng trình giả lập của bạn.

  2. Đi tới Tùy chọn của Eclipse và sau đó chọn ra mắt Launch Launch Thêm Add-sizeition-1024 1024 trên tùy chọn Trình mô phỏng mặc định của trường Trường. Nhấp vào ứng dụng trực tuyến và sử dụng trình giả lập của bạn như bình thường.


103
Oscar, bạn cho rằng điều này đang xảy ra trên trình giả lập. Trong trường hợp của tôi, nó xảy ra trên thiết bị thực tế mà câu trả lời này không giải quyết.
Jeff Axelrod

Tùy chọn thứ hai dường như không làm việc cho tôi. Tuy nhiên phương án 1 đã làm! Công cụ tuyệt vời! Và làm việc với một trình giả lập 2.1.
DonnaLea

Điều này không làm việc cho tôi, có lẽ vì tôi đã bật ảnh chụp nhanh? Làm cách nào tôi có thể khiến trình giả lập khởi động Android từ đầu với tùy chọn kích thước phân vùng mới?
Timmmm

Mất tùy chọn 1 - Tôi không có tab "Target" trong ecclipse tại vị trí này.
Ted Betz

Tùy chọn thứ 2 làm việc cho tôi, cảm ơn vì bài đăng gud @RacZo
DD.

31

Cảm ơn đã gửi câu hỏi này. Tôi có một số hiểu biết bổ sung có thể giúp một số nhà phát triển.

Tôi đang gỡ lỗi ứng dụng của mình trên một thiết bị (không phải trình giả lập). Thiết bị có 21 MB miễn phí /data(như được tiết lộ bởi "df" khi thực hiện "adb shell") và ứng dụng của tôi chỉ có 5 MB. Tuy nhiên, tôi đã thấy rằng nếu tôi xóa các ứng dụng khác trên thiết bị (không khởi động lại điện thoại hoặc khởi động lại adbd), INSTALL_FAILED_INSUFFICIENT_STORAGE sẽ biến mất trong một thời gian và sau đó quay lại.

Vì vậy, có vẻ như việc gỡ lỗi ứng dụng 5 MB của tôi đòi hỏi nhiều hơn 20 MB dung lượng /data, và ngoài ra, một cái gì đó đã bị rò rỉ mỗi khi tôi gỡ lỗi ứng dụng của mình.

Vì vậy, tôi đã làm "adb shell" và liệt kê /datathư mục ENTIRE với

cd /data
ls -a -l -R

Và tôi đã nhìn vào đầu ra 5000 dòng để xem tất cả không gian đang đi đâu.

Tôi phát hiện ra một lượng lớn dung lượng bị lãng phí trên thiết bị của mình trong /data/klogthư mục dưới dạng các tệp nhật ký cũ từ các phiên gỡ lỗi hàng tháng.

Đây không phải là tệp nhật ký của tôi: chúng được tạo bởi một phần của cơ sở hạ tầng Android.

Tôi đã xóa chúng và lưu ngay 58 MB không được quy trong ứng dụng Cài đặt cho bất kỳ ứng dụng cụ thể nào. Tôi có một thiết bị nhỏ nên 58 MB rất đáng kể (khoảng 40%).

Cho đến nay, tôi vẫn chưa nhận được INSTALL_FAILED_INSUFFICIENT_STORAGE sau nhiều lần chạy. Hãy hy vọng đó là vấn đề thực sự, mặc dù OP cho thấy thiết bị của anh ta có nhiều không gian (nhưng không nói là bao nhiêu).

Hy vọng rằng một số bạn cũng sẽ có thể thoát khỏi INSTALL_FAILED_INSUFFICIENT_STORAGE bằng cách xóa định kỳ /data/klog/*.

Hoặc, bạn ít nhất có thể thực hiện ls -a -l -Rtại /datađể xem vị trí còn trống của bạn đang diễn ra, nếu thực sự có thực sự là một số (ẩn) vấn đề không gian.


26
Bất kỳ ý tưởng làm thế nào để làm điều này trên một điện thoại không root? Tôi không có quyền truy cập vào diretory dữ liệu. bài đăng tuyệt vời btw +1
Giàu

1
Cảm ơn bạn về thông tin. FYI bạn có thể hợp nhất các cờ trong Unix để lslệnh đó trở thànhls -alR
mharper

1
Với quyền truy cập root làm: # su # du / data | sắp xếp -g để nhận danh sách các thư mục / tệp được sắp xếp theo kích thước
JuanMa Cuevas

@JuanMaCuevas chỉ duliệt kê các thư mục.
naXa

@Rich, hãy thử tải xuống ứng dụng Astro File Manager của bên thứ 3. Nó rất phổ biến và cung cấp cho bạn quyền truy cập vào các tập tin điện thoại của bạn. play.google.com/store/apps/
Kẻ

22

Các trợ giúp sau:

  • Mở một vỏ cho thiết bị

    adb shell
  • Điều hướng đến thư mục tạm thời nơi APK đến được sao chép đầu tiên

    cd /data/local/tmp
  • Liệt kê các tập tin có sẵn và xóa như mong muốn

    rm * // use at your own risk, good practice to list files first

Điều này là đáng tin cậy đối với tôi cho đến nay trên một thiết bị thực tế.


EDIT: Điều này hóa ra không phải là một giải pháp đáng tin cậy như giải pháp trên.

Tôi đã thử một số giải pháp. Không có gì thực sự giúp đỡ. Cuối cùng tôi tìm thấy một ứng dụng có tên SD Maid . Điều đó đã giúp.

Nó nói rằng chức năng bị hạn chế trên các thiết bị không được phân bổ. Của tôi đã được bắt nguồn từ đó sẽ rất tốt khi nghe người dân nghe thấy hiệu quả trong những tình huống đó và nếu đó chỉ là một con sán mà nó hoạt động với tôi (dù sao đó cũng là một vấn đề không thể đoán trước).

LƯU Ý: Tôi không có gì để làm với ứng dụng. Chỉ cần tìm thấy nó với một tìm kiếm.


Nó giúp tôi .. Một số ứng dụng trước đây của tôi được lưu trữ trong thư mục tmp. Sau khi tôi gỡ bỏ những thứ đó vẫn hoạt động tốt ..
Mahendran Sakkarai

19

Tôi đã giải quyết nó bằng cách đưa thẻ android:installLocation="auto"bên trong <manifest>vào tệp AndroidManifest.xml.


Hoạt động thực sự. Cảm ơn.
Teddy

Đây là sửa chữa duy nhất làm việc cho tôi, trên một thiết bị thực sự. Cảm ơn.
Shah Abaz Khan

đơn giản và độc đáo làm việc
cảm ơn

tôi đã thêm những dòng mã này. Nhưng vẫn nhận được lỗi nàyError: ADB exited with exit code 1 adb: failed to install build\app\outputs\apk\app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE] Error launching application on Android SDK built for x86.
Husna

Giải pháp tốt nhất để làm việc với trình giả lập. Cảm ơn!
Br0wn

16

Tôi đã thêm một dòng bổ sung vào tệp kê khai của ứng dụng android:installLocation="preferExternal". bằng cách sử dụng dòng này, nó buộc phải cài đặt ứng dụng vào bộ nhớ ngoài. xem ví dụ dưới đây

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nasir.phonegap"
    android:installLocation="preferExternal" >

11

Một vấn đề liên quan trên trình giả lập là khi không còn chỗ trống trong /dataphân vùng.

Ví dụ,

% adb shell df

Filesystem             Size   Used   Free   Blksize
/dev                   252M    32K   252M   4096
/mnt/asec              252M     0K   252M   4096
/mnt/obb               252M     0K   252M   4096
/system                154M   154M     0K   4096
/data                   64M    57M     6M   4096
/cache                  64M     1M    62M   4096

Đây là một khung nhìn mẫu của /data/appthư mục:

% adb shell ls -l /data/app

-rw-r--r-- system   system      19949 2011-10-12 17:09 CubeLiveWallpapers.apk
-rw-r--r-- system   system      27670 2011-10-12 17:09 GestureBuilder.apk
-rw-r--r-- system   system      34341 2011-10-12 17:09 SoftKeyboard.apk
-rw-r--r-- system   system      20151 2011-10-12 17:09 WidgetPreview.apk

Tôi đã xóa APK thêm . Dường như mỗi lần cài đặt, bạn nhận được một tệp APK mới. Chỉ cần xóa các tệp APK bổ sung.

Ví dụ,

adb shell rm /data/app/com.brooklynmarathon.calendarapi2-1.apk

2
1. chạy "adb shell" 2. cd vào từng thư mục trong dữ liệu và tìm những thư mục có tệp lớn vô dụng. 3. xóa chúng bằng cách sử dụng "rm (tên tệp)" 4. các vấn đề lặp lại của tôi là với rác như "ApiDemos" và "dalvik-cache" (chỉ cần xóa toàn bộ nội dung của cái đó)
Adam

9

Trong trường hợp của tôi thất bại là do com.android.providers.mediaứng dụng. Tôi đã đối mặt với điều này trên trình giả lập Android x86. Tôi đã làm gì:

$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M   209M    14M   4096
....

Không gian trống quá thấp /data

$ adb shell du /data
...
409870  /data/data/com.android.providers.media
...

Hầu như tất cả đã được tiêu thụ bởi ứng dụng duy nhất! Đó là ứng dụng hệ thống nên tôi cân nhắc tốt hơn là không xóa nó. Thay vào đó tôi dọn sạch dữ liệu ứng dụng.

$ adb shell pm clear com.android.providers.media
Success
$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M     8M   215M   4096
...

Đĩa đã được xóa và cài đặt ứng dụng thành công.


Đây là giải pháp duy nhất làm việc cho tôi. Sau 2 giờ! :)
Ruchir Baronia

6

Tôi cảm thấy hơi kỳ lạ khi viết điều này, nhưng tôi không thể chắc chắn 100% rằng nó không đúng trong một số trường hợp (nó hiệu quả với tôi). Nếu bạn có các triệu chứng sau:

  • Bạn đã từng làm việc bằng thiết bị vật lý (trong trường hợp của tôi, Samsung Galaxy Ace),
  • Bạn đã phát triển được vài ngày,
  • Điện thoại của bạn được kết nối mọi lúc , cả ngày lẫn đêm.
  • Bạn đã bắt đầu nhận được lỗi này sau một vài ngày và nó ngày càng tệ hơn.
  • Không có câu trả lời nào khác làm việc cho bạn.
  • Bạn cam chịu như tôi ...

Sau đó, hãy thử điều này:

  • Rút phích cắm điện thoại của bạn khi bạn không làm việc!

Tôi rút điện thoại ra và để nó nghỉ ngơi trong M ENI NGÀY. Pin của tôi bị hao mòn một chút. Sau đó, tôi kết nối lại và bắt đầu gỡ lỗi một lần nữa. Tất cả mọi thứ hoạt động tốt thời gian này! Và tôi có nghĩa là thực sự tốt, giống như trước đây.

Có thể là lỗi này có thể là do một số thứ phần cứng liên quan đến pin ? Tôi vẫn cảm thấy kỳ lạ khi nghĩ theo cách này, nhưng bây giờ tôi cứ ngắt kết nối điện thoại của mình mọi lúc (và cả đêm) và vấn đề không trở lại.


Điều này xảy ra với tôi mọi lúc - trên tất cả các thiết bị của tôi. Trong nguyên nhân của một ngày, mọi thứ thường bắt đầu thất bại vào cuối mỗi ngày. Điều này thật khó chịu và Google khá tuyệt vời vẫn chưa khắc phục điều này ...
slott

Hành vi tương tự đối với tôi nhưng khởi động lại điện thoại đã giải quyết vấn đề của tôi liên tục.
bdevay

6

Trả lời cho bài viết đầu tiên của chủ đề này ...

Triệu chứng: Một số ứng dụng không cài đặt, nói rằng không có dung lượng và trong thực tế, có rất nhiều không gian trống trên cả bộ nhớ trong và ngoài !!! Giải pháp: vô hiệu hóa cài đặt bên ngoài theo mặc định.

Đặt cài đặt bên ngoài bằng cách tự động với điều này:

adb shell pm set-install-location 2

Không thể cài đặt trên nhiều ứng dụng không thể cài đặt bên ngoài (chẳng hạn như adblock + hoặc hơn)

Sau đó, giải pháp là

adb shell pm set-install-location 0

Hoặc là

adb shell pm set-install-location 1

0: auto (if one is full - or irrelevant !!! - it select the other)
1: internal
2: external

Tôi đã bắt đầu nghĩ rằng bộ nhớ trong của điện thoại này đã bị hỏng, nhưng việc cài đặt vị trí cài đặt thành 1 đã khắc phục vấn đề "không đủ dung lượng". Cảm ơn!
Wodin

6

Tôi đã thử như sau:

  • Khởi động lại thiết bị của tôi
  • Đã xóa APK trước đó
  • Xây dựng lại APK của tôi
  • Gỡ cài đặt bản sao trước của tôi trong thiết bị
  • Cài đặt lại

Kiểm tra nếu nó hoạt động tương tự với bạn.


3
Đúng, khởi động lại thiết bị là cách duy nhất để hoạt động (sau khi thử một số giải pháp từ trang này)
Sulea Cosmin

Khởi động lại thiết bị làm việc :)
cinobili19

5

Samsung Galaxy Ace quảng cáo 158 MB dung lượng lưu trữ nội bộ trong thông số kỹ thuật của nó, nhưng các ứng dụng và dịch vụ cốt lõi tiêu thụ khoảng 110 MB (tôi đã sử dụng trình quản lý tác vụ trên thiết bị để kiểm tra điều này). Ứng dụng của tôi là 52 MB, vì nó có rất nhiều tài sản. Khi tôi xóa một số trong số đó xuống còn 45 MB, ứng dụng đã quản lý để cài đặt mà không gặp vấn đề gì. Thiết bị vẫn cảnh báo tôi rằng bộ nhớ trong đã gần đầy và tôi nên gỡ cài đặt một số ứng dụng, mặc dù tôi chỉ cài đặt một ứng dụng.

Sau khi cài đặt phiên bản phát hành của gói .apk và sau đó gỡ cài đặt nó, thiết bị của tôi sẽ hiển thị 99 MB dung lượng trống, do đó, có thể nó sẽ gỡ lỗi thông tin làm lộn xộn thiết bị. Xem câu trả lời của Louis Semprini .


4

Trong Eclipse

Run -- > Debug Configurations --> Select "target", và chọn một mục tiêu giả lập ưa thích để khởi chạy.

Sau đó, bên dưới "tùy chọn dòng lệnh giả lập bổ sung", thêm vào đây:

kích thước phân vùng 1024

Sau đó, ĐÓNG trình giả lập và nhấp vào biểu tượng gỡ lỗi, sẽ khởi chạy trình giả lập ưa thích mà bạn đã chọn.

nhập mô tả hình ảnh ở đây

Hy vọng nó giúp...!


Gợi ý cho Android Virtual Device Managerngười dùng. Bạn có thể đặt kích thước phân vùng thành 1024 là "Bộ nhớ trong" đại diện chodisk.dataPartion.size
meddlesome 22/03/13

3

Tôi gặp vấn đề này với Nexus 4 mới của tôi và APK được tích hợp Adobe Adobe. Tôi đã có android: installLocation = "preferExternal" trong tệp kê khai của mình. Tôi nhận thấy tôi cũng đang gọi adb installvới -stùy chọn (Cài đặt gói trên bộ lưu trữ chung được chia sẻ, chẳng hạn như sdcard.) Có vẻ như quá mức cần thiết.

Xóa -scờ khỏi đã adb installkhắc phục sự cố cho tôi.


1
+1, tốt, -s chỉ nên được sử dụng nếu ghi đè lên bản dựng được cài đặt trước đó.
AAnkit

3

Vì vấn đề này vẫn còn tồn tại, tôi nghĩ rằng tôi muốn thêm một cái gì đó vào câu trả lời của RacZo cho mục đích phát triển. Nếu bạn không sử dụng plugin Eclipse hoặc vì bất kỳ lý do gì bạn không có nguồn, nhưng chỉ là .apk, bạn có thể tăng kích thước phân vùng từ dòng lệnh bằng cách sử dụng cùng một tùy chọn khi bạn khởi chạy trình giả lập:

emulator -avd <emulator name> -partition-size 1024

Theo như tôi biết, tùy chọn này không được ghi nhận tại developer.android.com, vì vậy tôi nghĩ rằng tôi đã đăng nó ở đây để mọi người có thể tìm thấy giải pháp này.


đây là tùy chọn tốt nhất bởi vì không liên quan đến việc cập nhật bất kỳ tệp nào cũng như sử dụng bất kỳ ứng dụng nào, chỉ làavd
7ynk3r

2

Tôi đã gặp câu hỏi này vì tôi gặp phải lỗi này khi sử dụng Sideload Wonder Machine để cài đặt ứng dụng vào điện thoại thực tế của mình. Tôi thấy vấn đề là tôi có nhiều tệp .apk trong thư mục / payload. Tôi nghĩ rằng đây là một cái gì đó được hỗ trợ, nhưng khi tôi loại bỏ tất cả trừ một .apk, lỗi đã biến mất.


2

Chỉ cần gỡ cài đặt ứng dụng khỏi trình giả lập từ dòng lệnh hoặc vào cài đặt và gỡ cài đặt ứng dụng. Điều này sẽ ngăn chặn lỗi đến.


2

Nếu bạn đang sử dụng một thiết bị thực, bạn chỉ cần hết bộ nhớ trong. Chỉ cần truy cập cài đặt Android -> Ứng dụng và di chuyển một số ứng dụng sang thẻ SD hoặc gỡ cài đặt một số ứng dụng.

Nếu bạn đang sử dụng trình giả lập, hãy xem câu trả lời của RacZo .


9
Chúng ta đang nói về lỗi lưu trữ không đủ xuất hiện khi có dung lượng lưu trữ dồi dào.
user999717

2

Tôi đã gặp một lỗi tương tự khi tôi cố gắng cài đặt hàng loạt khoảng 50 ứng dụng trong thư mục thẻ SD bằng cách sử dụng trình bao ADB sau khi cập nhật ROM đầy đủ:

for x in *.apk; do pm install -r $x; done

Một số trong số chúng đã được cài đặt, nhưng nhiều lỗi không thành công với lỗi INSTALL_FAILED_INSUFFICIENT_STORAGE. Tất cả các ứng dụng thất bại có không gian trong tên của họ. Tôi đã đổi tên hàng loạt và thử lại. Tất cả đều hoạt động trong thời gian này. Tôi đã không làm lại hoặc bất cứ điều gì. Có thể đây không phải là vấn đề mà các bạn đang gặp phải, nhưng điều này có thể giúp ai đó tìm kiếm với cùng một vấn đề như tôi gặp phải.


Ngoài ra tôi nhận thấy rằng khi tôi bỏ lỡ lỗi chính tả, đôi khi cũng xảy ra lỗi tương tự. Đó là một thông báo lỗi gây hiểu lầm trong trường hợp của tôi.
Insilico

1

Giải pháp giả lập

Mở của bạn .Android thư mục . Thông thường trong thư mục nhà của bạn. Sau đó đi đến avdvà sau đó mở thư mục có tên của avd bạn muốn thay đổi.

Bây giờ chỉnh sửa config.initệp và thêm dòng sau hoặc sửa đổi dòng sau:

disk.dataPartition.size=1024

Đâu 1024là kích thước bạn muốn sử dụng trong MB. Lưu tệp và sau đó bắt đầu trình giả lập của bạn với wipe user datakiểm tra. Trình giả lập của bạn bây giờ sẽ có kích thước mới.


1

Giải pháp rất đơn giản.

Mở Trình quản lý AVD. Chỉnh sửa AVD của bạn.

Trong phần cứng, có một số thuộc tính được liệt kê với "Mới ..." và "Xóa" ở bên phải của nó.

Nhấn mới. Chọn kích thước phân vùng dữ liệu. Đặt thành "512MB" (yêu cầu MB). Và bạn đã hoàn thành. nếu bạn vẫn gặp sự cố, hãy tăng phân vùng hệ thống và bộ đệm của bạn bằng cách sử dụng cùng một phương pháp.

Tất cả đều được ghi lại ngay tại đây: http://developer.android.com/guide/developing/devices/managing-avds.html


2
Phân vùng dữ liệu không phải là một tùy chọn khả dụng với Google API cấp 14
Ted Betz

1

Đảm bảo bạn không kết nối thiết bị Android của mình với usb trong khi thử chạy trình giả lập


1

Nếu bạn đang chạy ứng dụng của mình trên trình giả lập và nếu sự cố này vẫn còn, hãy kiểm tra trình quản lý thông báo của bạn. Nếu nó hiển thị cho bạn một biểu tượng và thông báo về "Bộ nhớ điện thoại đã đầy", điều đó có nghĩa là bạn đã cài đặt rất nhiều ứng dụng trên trình giả lập của mình. Gỡ cài đặt một số ứng dụng mà bạn hiện không muốn từ "Cài đặt >> Quản lý ứng dụng >> Chọn Ứng dụng >> Gỡ cài đặt".
Bộ đó.
Bây giờ chạy lại chương trình.


1

Tôi đã gặp lỗi này ngày hôm nay, khi sử dụng điện thoại để kiểm tra / gỡ lỗi với Eclipse.

Lỗi của tôi là tôi đã sử dụng ký tự đặc biệt của Na Uy ("", "ø", "å") trong tên ứng dụng. Khi tôi tái cấu trúc tên ứng dụng (sử dụng "o" thay vì "ø"), ứng dụng đã được cài đặt chính xác ..

Có lẽ không phải là vấn đề của bạn, nhưng có thể là lưu ý cho những người khác nhận được cùng một lỗi.


1

Sau khi thử mọi thứ khác trong chuỗi này, tôi phát hiện ra vấn đề của riêng mình là do đường dẫn đến tệp .apk quá dài. Vì vậy, tôi đã cd vào thư mục chứa .apk và đã làm:

cd /Very/Long/Path/To/Package/
adb install mypackage.apk

thay vì

adb install /Very/Long/Path/To/Package/mypackage.apk

Và nó hoạt động ... cài đặt tốt.

Chỉ cần nghĩ rằng điều này có thể giúp đỡ người khác.


Tôi có thể thêm, làm cho thư mục trở thành một liên kết tượng trưng cho phép tôi tạo các bản dựng từ IDE và gỡ lỗi: ln -s / Users / abc / a \ lố bịch \ long \ thư mục \ path / subpath / subsubpath / subsububpath / shortpath
David van Dugteren

1

Cách giải quyết:

Biên dịch thành 2.1 mà không có android:installLocation="preferExternal".

ĐỒNG Ý?

Biên dịch thành 2.2 bao gồm android:installLocation="preferExternal".

Điều này vẫn sẽ cài đặt trên phiên bản SDK nhỏ hơn 8 (thẻ XML bị bỏ qua).


0

Trong trường hợp của tôi, nó đã được sửa bằng cách tăng bộ nhớ mở rộng của nhật thực, bằng cách thay đổi giá trị của -Xmx768m trong eclipse.ini


0

Tôi đã kết thúc việc gỡ cài đặt ứng dụng khỏi thiết bị và sau đó cài đặt lại nó trong Eclipse. Đây là một vấn đề tôi nhận được tất cả thời gian trên thiết bị của mình từ việc sử dụng thường xuyên, nhưng hôm nay tôi nhận được thông báo đó từ sự phát triển.


0

Tôi cũng gặp phải vấn đề tương tự và tôi đã thực hiện "Thiết lập lại dữ liệu của nhà máy" và nó đã hoạt động tốt sau đó.


8
Tôi thực sự sẽ không đề nghị đây là một giải pháp. Tổng số quá mức cần thiết.
Tim

3
Nó xóa / dữ liệu của bạn, giải phóng một số không gian để cài đặt sẽ hoạt động trở lại. Một công cụ rất cùn và không phải là một giải pháp. Lỗi có thể trở lại sau một vài ứng dụng.
user999717

22
Điều này tương đương với bác sĩ nói: Tôi không biết có vấn đề gì với cánh tay của bạn nên tôi đã cắt nó ra.
Derek

0

Tôi không có quyền truy cập root trên điện thoại của mình và chưa chuẩn bị cho ứng dụng của tôi được cài đặt trên thẻ SD. 15 MB dung lượng trống hiện có /data/và ứng dụng của tôi dưới 2 MB.

Trong một thời gian tôi đã nhận được bằng; làm sạch dự án Eclipse và khởi động lại điện thoại, nhưng cuối cùng nó đã ngừng hoạt động (có thể sau khi cập nhật).

Làm sạch bộ nhớ cache ứng dụng của tôi đã giải quyết vấn đề cho tôi và không yêu cầu khởi động lại điện thoại hoặc gỡ cài đặt ứng dụng.

Có những ứng dụng trên thị trường mà bạn có thể sử dụng để xóa bộ nhớ cache của nhiều ứng dụng cùng một lúc. Tìm kiếm "sạch".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.