2014-07-18 17 views
6

Tôi rất mệt khi thấy nhiều câu hỏi về Stackoverflow về điều này, ngay cả trong diễn đàn Google hoặc trang web hỗ trợ chính thức của Google, xuất bản "giải pháp" dẫn đến gỡ cài đặt gói thông qua ADB, để làm một cái gì đó với chiếc điện thoại bắt nguồn từ, để xóa bộ nhớ cache của Google play Services, vv ..."Tệp gói không hợp lệ", giải pháp từ phía nhà phát triển (Android)

Có giải pháp nào từ phía gói không?

Ý tôi là, tôi có một ứng dụng với hàng trăm nghìn lượt cài đặt và rất tiếc là nhiều người dùng phàn nàn về lỗi này khi nâng cấp từ lưu trữ phiên bản mới của tôi.

Rõ ràng, tôi không thể đi từng người một nói rằng họ phải làm điều này hay điều đó, bởi vì họ không phải là nhà phát triển, họ chỉ muốn nâng cấp và chạy một ứng dụng!

Một số người dùng nói với tôi (phàn nàn) điều này xảy ra kể từ lần "nâng cấp lần cuối" của ứng dụng của tôi và họ không gặp phải "tệp gói này không hợp lệ" với bất kỳ ứng dụng nào khác trong điện thoại của họ.

Vì vậy, tôi đoán đó là điều tôi có thể khắc phục với bản nâng cấp khác.

Có BẤT CỨ GIẢI PHÁP nào mà tôi có thể thực hiện trong quá trình biên dịch APK tiếp theo, tải lên Google Play Store và khắc phục điều này mà không "làm phiền" người dùng của tôi không?

Cảm ơn bạn trước

+0

Related: http://stackoverflow.com/questions/17673024/invalid-package-file-android#comment26259600_17939273 – FlamingMoe

+1

Một nguyên nhân của việc này có thể là một số không tương thích ART/Dalvik? – Estel

+0

Ý của bạn là gì? Tôi đã luôn luôn sử dụng cùng một Eclipse và Android SDK – FlamingMoe

Trả lời

0

Tôi cũng gặp phải vấn đề tương tự trong dự án của mình. Tôi đã thêm nhiều tính năng hơn nữa với jar mới, mã thư viện mã nguồn mở git cho giao diện người dùng đẹp.

Đối với tìm kiếm giải pháp tôi thấy cửa hàng chơi có vấn đề trong một trong những cập nhật của nó http://www.androidcentral.com/google-investigating-package-file-invalid-errors-google-play Nhưng điều này là hoàn toàn không liên quan đến vấn đề của tôi

Một lần nữa tìm kiếm Tôi thấy điều này http://birbit.com/how-to-solve-linearalloc-problem/ Vì vậy, các giải pháp có vẻ là tải một vài tệp jar tự động sử dụng DexClassLoader. http://android-developers.blogspot.in/2011/07/custom-class-loading-in-dalvik.html

  1. Chuẩn bị giao diện của file jar (danh sách tất cả các lớp học và phương pháp) và có giao diện trong ứng dụng - Cần để xem làm thế nào để làm điều này. - Chúng tôi chỉ có thể có những lớp học mà chúng tôi cần trong ứng dụng của chúng tôi và bỏ qua phần còn lại của các lớp học. Bằng cách này, chúng tôi có thể triển khai một vài lọ hiện có và bất kỳ lọ mới nào mà chúng tôi phải thêm vào để đảm bảo chúng tôi không gặp phải vấn đề này nữa.
  2. Giữ bình trong thư mục tài sản
  3. Nạp mọi lớp từ bình (dựa trên danh sách các lọ chúng tôi có trong giao diện). (Các lớp học sẽ chỉ được tải một lần khi ra mắt lần đầu)

Nhưng dựa trên điều này, điều này có vẻ liên quan đến rất nhiều thay đổi về mã và tốn thời gian.

Hơn nữa tôi thấy rằng facebook cũng phải đối mặt với cùng một vấn đề trong ứng dụng android ban đầu của họ https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920

Cách tiếp cận cuối cùng tôi đã được loại bỏ mã bổ sung từ dự án thư viện jar/git mà không yêu cầu cho các ứng dụng của tôi. sau đó ứng dụng của tôi đã cài đặt trên 2.3.X mà không có lỗi.

Các vấn đề liên quan