Khi lưu trữ bên ngoài không có sẵn và nó không phải về không gian lưu trữ, khởi động lại thiết bị thực sửa lỗi này.
log của tôi cho thấy những dòng này:
PackageManager: Package ... could not be assigned a valid uid
PackageManager: package setting is null
PackageManager: Skipping remove dir for ...(user:0, appId:null)
PackageManager: Package couldn't be installed in /data/app/...
PackageManager: com.android.server.pm.PackageManagerException: Creating application package ... failed
PackageManager: at com.android.server.pm.PackageManagerService.scanPackageDirtyLI(PackageManagerService.java:10630)
nguyên nhân chính vẻ như ngoại lệ trong PackageManagerService:
pkgSetting = mSettings.getPackageLPw(...);
if (pkgSetting == null) {
throw new PackageManagerException(INSTALL_FAILED_INSUFFICIENT_STORAGE,
"Creating application package " + pkg.packageName + " failed");
}
Đối với một ứng dụng người dùng không cài đặt mà không cần người dùng chia sẻ, sử dụng mã trong Settings là:
private PackageSetting getPackageLPw(...) {
// Assign new user id
p.appId = newUserIdLPw(p);
if (p.appId < 0) {
PackageManagerService.reportSettingsProblem(Log.WARN,
"Package " + name + " could not be assigned a valid uid");
return null;
}
}
// Returns -1 if we could not find an available UserId to assign
private int newUserIdLPw(Object obj) {
// None left?
if (N > (Process.LAST_APPLICATION_UID-Process.FIRST_APPLICATION_UID)) {
return -1;
}
}
private void removeUserIdLPw(int uid) {
if (uid >= Process.FIRST_APPLICATION_UID) {
final int N = mUserIds.size();
final int index = uid - Process.FIRST_APPLICATION_UID;
if (index < N) mUserIds.set(index, null);
} ...
}
Vì vậy, có một số m với logic removeUserIdLPw hoặc gỡ cài đặt không gọi nó là id người dùng ứng dụng miễn phí, cần một số nhật ký gỡ cài đặt chi tiết mà tôi không có tại thời điểm này.
Bạn có chắc chắn về khoảng trống trên thẻ SD nhiều hơn bộ nhớ trong không? – Snicolas
tiếp tục và di chuyển một số ứng dụng từ bộ nhớ trong sang thẻ SD hoặc xóa một số ứng dụng đang lưu trữ bộ nhớ trong. – PravinCG
Xem bài đăng này http: // stackoverflow.com/questions/2239330/how-to-tăng-lưu trữ-cho-android-emulator-install-fail-không đủ-storag – Noel