2009-04-08 38 views
52

Có cách nào để tải lại ứng dụng Android trong trình giả lập mà không đóng trình giả lập, lưu bất kỳ thay đổi mã nào và chạy lại trình mô phỏng không? Nếu tôi thực hiện ngay cả một thay đổi đơn giản đối với bố cục, nó mất khoảng 30 giây theo thời gian tôi chạy nó trong Eclipse và Android "khởi động", và tôi có thể mở khóa trình giả lập để chạy ứng dụng. Có cách nào để rút ngắn thời gian này khi thực hiện thay đổi hay đó là điều tôi phải giải quyết?Tải lại ứng dụng Android trong trình giả lập mà không cần khởi động lại trình mô phỏng trong Eclipse?

Trả lời

55

Trình giả lập Android có thể triển khai nóng. Khi bạn lưu và nhấp vào 'run' (giả sử không có lỗi biên dịch), nó sẽ đóng gói và triển khai lại thành trình giả lập, sau đó sẽ khởi động lại ứng dụng để chạy phiên bản mới. Điều này cũng đúng nếu bạn có Điện thoại nhà phát triển Android được kết nối qua USB.

Nếu bạn nhận được thông báo "Cảnh báo: Hoạt động không bắt đầu, nhiệm vụ hiện tại của nó đã được đưa lên phía trước", nó giúp thoát/di chuyển từ phía trước ứng dụng đang chạy trong trình giả lập bằng cách nhấn nút quay lại. Có vẻ như Android không ghi đè lên ứng dụng đang chạy trong trường hợp này.

+0

quay lại vẫn còn chậm, nhưng sẽ nhanh hơn nhiều so với 30 giây bạn đang xử lý. –

+4

Điều này có thực sự chính xác không? Trong giao diện điều khiển, tôi thấy thông báo: Cảnh báo: Hoạt động không được bắt đầu, nhiệm vụ hiện tại của nó đã được đưa lên phía trước. – EtienneSky

+3

Cập nhật mục nhập trước đó của tôi; Tôi nghĩ nếu bạn nhấn nút quay lại và quay lại màn hình chính, nó sẽ tải lại. Chỉ cần triển khai nó trên đầu trang của ứng dụng đang chạy có thể cung cấp cho bạn một thông báo như: ActivityManager: Cảnh báo: Hoạt động không được bắt đầu, nhiệm vụ hiện tại của nó đã được đưa đến trước – EtienneSky

1

thay vì chạy từ nhật thực, sử dụng các tệp lô sau trong thư mục dự án để cài đặt và gỡ cài đặt gói ứng dụng. Những công việc tuyệt vời và nhanh chóng.

install.bat

cd bin 
adb install *.apk 

Uninstall.bat

adb uninstall this.is.package.name 
+1

Đó là chậm hơn, đòi hỏi một kịch bản mới cho mỗi dự án, và không tự động như chạy từ Eclipse là. –

+0

yes..uninstall script phải là mới cho mỗi dự án .. nhưng cài đặt tập lệnh là chung chung. và nó hoạt động nhanh cho tôi hơn nhật thực ... có thể là nhật thực của tôi khi tôi tải nó .. :) –

+1

_adb install -r * .apk_ cài đặt lại ứng dụng bảo quản dữ liệu của nó và không cần phải gỡ cài đặt trước tiên –

21

Trong Eclipse đi để chạy -> Run Configuration ...

Đây là lần đầu tiên bạn cần phải đặt tùy chọn được đánh dấu sau đây bởi vì bạn không có bất kỳ trình mô phỏng nào đã được khởi chạy. enter image description here

Sau lần chạy đầu tiên ngay bây giờ, bạn đã chạy trình mô phỏng. Bây giờ khi bạn thực hiện thay đổi một lần nữa đi để chạy -> Run Configuration ...

và Đặt tùy chọn được đánh dấu sau: enter image description here

Bây giờ giả lập đang chạy sẽ được sử dụng tất cả thời gian để relaunch ứng dụng của bạn và nó mất một thời gian ít hơn.

Lưu ý: Mỗi lần trước khi nhấp vào Run nút nhấn lại nút trong giả lập của bạn một lần. Vì vậy, ứng dụng của bạn không còn chạy trên trình mô phỏng. Nếu không, bạn có thể thấy những cảnh báo sau đây:

Cảnh báo: Hoạt động chưa bắt đầu, nhiệm vụ hiện tại của nó đã được đưa vào phía trước

+1

phải là câu trả lời được chấp nhận –

+1

Đặc biệt là thông báo về việc bạn phải thoát khỏi ứng dụng đang chạy trong Trình giả lập bằng cách nhấn lại đã giúp tôi rất nhiều. –

3

Bạn đã được thông báo rằng bạn không cần phải khởi động lại giả lập, nhưng bây giờ với Android Studio 2.0 thậm chí bạn không cần phải khởi động lại ứng dụng của mình. Nó có một tính năng mới gọi là Instant Run cho phép bạn cập nhật ứng dụng của mình mà không phải khởi động lại.

Đơn giản chỉ cần kích hoạt nó trong Preferences:

enter image description here

Và chạy:

enter image description here

Thông tin thêm trong link này.

0

Nếu tôi nhận được câu hỏi này tôi sẽ tưởng tượng nhiều hơn (mặc dù được hỏi nhiều năm trước).

Nhấn vào R hai lần.

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