2011-11-13 39 views
11

Cho đến nay, cách duy nhất tôi có thể gỡ lỗi trong Eclipse là sử dụng Treeshaker với chi nhánh lỗi 3.5 của Scala IDE. Nếu tôi cố gắng xây dựng với Scala IDE mà không có Treeshaker, tôi nhận được lỗi ClassNotFound cho mỗi this long thread trên scala-on-android.Scala + Android: Có ai xây dựng và gỡ lỗi thành công trong Eclipse không?

Lý tưởng nhất là tôi sẽ xây dựng với sbt-android và gỡ lỗi trong Eclipse, nhưng tôi đã không thể thực hiện thành công. Cách gần nhất để gỡ lỗi một dự án sbt-android mà tôi có thể đạt được là xây dựng dự án sbt-android với lệnh android: package-debug, bắt đầu thực thi với lệnh android: start-emulator và sau đó kết nối DDMS với ứng dụng chủ đề.

Tuy nhiên, tôi đã đặt các điểm ngắt chỉ thực hiện sau khi tôi kết nối trình gỡ lỗi với chuỗi và không có lệnh nào trong số đó làm cho chuỗi dừng lại khi đạt đến.

Có ai có thể gỡ lỗi mã Scala Android trong Eclipse bằng bất kỳ công cụ nào khác ngoài Treeshaker với Scala IDE dựa trên Scala 2.8 không?

CẬP NHẬT: Tôi đang gỡ lỗi thành công (không xây dựng) trong Eclipse sau khi xây dựng từ dòng lệnh với sbt, sbteclipse và android-plugin.

Điều tôi đã làm là sử dụng trình đơn dự án Android mới của Eclipse, kết nối với nguồn hiện có và trỏ nó vào thư mục ./src/main. Sau đó Eclipse nhận ra các thiết lập Android và DDMS đã nhận ra nhiệm vụ này là thuộc về dự án Android của Eclipse.

Tôi cũng phải định cấu hình lại thư mục nguồn đường dẫn xây dựng Java của dự án Eclipse bằng cách xóa thư mục src khỏi đường dẫn xây dựng và thêm thư mục ./scala. Sau đó, tôi phải khởi động lại Eclipse để thêm các điểm ngắt vào tệp Scala.

Here's some interesting discussion về những khó khăn khi xây dựng và gỡ lỗi các ứng dụng Android bằng Eclipse.

+1

Nếu bạn là người dùng Eclipse, bạn có thể muốn thử Plugin AndroidProguardScala Eclipse của tôi - nó làm cho sử dụng Scala + Android một chút dễ dàng hơn. https://github.com/banshee/AndroidProguardScala –

Trả lời

11

Gỡ lỗi chung Mã Scala chạy trên Android sử dụng Eclipse hoạt động tốt và hoạt động nhiều hơn hoặc ít hơn như gỡ lỗi Scala trên các ứng dụng thông thường (không phải Android).

Tôi sử dụng sbt với sbt-android và android: trình giả lập khởi động hoặc android: start-device.

Tùy thuộc vào việc tôi có cần gỡ lỗi khởi động ứng dụng hay không, tôi đặt tùy chọn chờ trình gỡ lỗi trong cài đặt nhà phát triển trên thiết bị hoặc trình mô phỏng. Để thực hiện việc này, hãy chạy "DevTools"/"Development Settings". Chọn ứng dụng của bạn và kiểm tra "Wait for Debugger".

Sau đó, bạn phải chọn quy trình gỡ lỗi trong DDMS. Đảm bảo rằng cổng gỡ lỗi được hiển thị, và sau đó kết nối với trình gỡ lỗi Eclipse.

Nguyên nhân tiềm năng cho trình gỡ rối không cài đặt các điểm ngắt là dòng mã nguồn không có tương đương trực tiếp trong mã byte. Đối với sự hiểu biết đến tâm trí.

0

Sử dụng AndroidProguardScala, tôi thành công trong việc gỡ lỗi, bằng cách sử dụng scala 2.10 và Eclipse 3.7 Nó cũng đề cập đến để hiểu được như là plugin bình thường. Xem câu trả lời chi tiết đó:

Eclipse, Android, Scala made easy but still does not work

Các chỉ thiếu tính năng được trình gỡ lỗi scala mới trong các plugin scala nhật mới nhất, mà vẫn chưa tích hợp. Vì vậy, ví dụ, để gỡ lỗi một bản đồ, bạn sẽ phải đi mặc dù các tệp như Map.scala, ArrayBuffer.scala, Object.scala, v.v.

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