2012-10-07 35 views
6

Tôi đã tạo một dự án Android được thiết lập với plugin android-maven. Khi tôi thực hiện android: deploy và chạy chương trình, SharedPreferences luôn được khởi tạo.android-maven-plugin: phương pháp triển khai không xóa SharedPreferences

Có cách nào để triển khai dự án của tôi với AVD mà không xóa bộ nhớ SharedPreferences không?

P.S.

Tôi sử dụng Intellij IDEA và nhận thấy rằng của nó không xóa SharedPreferences. Tuy nhiên, sau khi tôi thêm scala support vào dự án của mình, IDE báo cáo "Quá nhiều phương pháp: 112423; tối đa là 65536" lỗi khi tôi chạy ứng dụng. Có lẽ đó là do thiếu tiền xử lý trước. Nếu có một cách để áp dụng proguard trước khi chạy các ứng dụng Android với sự hỗ trợ Android Intellij IDEA, nó sẽ là một giải pháp hiệu quả như nhau.

+0

Sử dụng tiêu chuẩn ADB triển khai mà không xóa các ưu đãi được đưa ra bởi 'adb -s DEVICESERIALCODE cài đặt ÁP DỤNG -r. apk' Tôi nghi ngờ kịch bản triển khai của bạn nên có tham số này là trình bao vỏ. Có thể thử mục tiêu 'android: run' –

+0

@pocorall bạn có giải quyết vấn đề với Scala và quá nhiều phương pháp không? Nếu vậy - làm thế nào bạn làm điều đó? Cảm ơn trước! – jdevelop

+0

@Marek Cảm ơn bạn đã tìm được manh mối. Tôi sẽ đào sâu về nó! – pocorall

Trả lời

2

Tôi cho rằng ứng dụng của bạn đang được gỡ cài đặt trước khi được cài đặt lại - điều này sẽ khiến bạn mất các giá trị SharedPreferences. Điều này có thể được kiểm soát với thông số plugin Android Maven undeployBeforeDeploy.

Tôi chỉ cố gắng để tạo ra một dự án với các android-quickstart nguyên mẫu Maven và thấy rằng nó tự động thêm dòng sau vào POM của tôi:

<undeployBeforeDeploy>true</undeployBeforeDeploy> 

Cố gắng thiết lập này là false và thử lại.

Nếu bạn có nó thiết lập là true, nó in dòng này trong bảng điều khiển khi bạn chạy mvn android:deploy:

[INFO] Successfully uninstalled [package] from [device] 
+0

Tuyệt vời! Nó hoạt động! – pocorall

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