2013-09-08 81 views
28

Dường như tài liệu hơi mỏng và tôi đảm bảo với bạn rằng tôi đã cố gắng tìm kiếm trực tuyến này, nhưng tôi thực sự không hiểu quy trình phát triển được thực hiện như thế nào với điện thoại và nhật thực .Phát triển với Eclipse và Phonegap/Cordova 3

Tôi đã làm theo một trong nhiều hướng dẫn và tạo ví dụ Hello World bằng cách sử dụng dòng lệnh cordova. Sau đó tôi đã thêm nền tảng Android và chạy bản dựng. Sau đó, tôi đã thêm bit andoridy làm dự án trong nhật thực đối với nguồn hiện có theo hướng dẫn sử dụng thư mục con nền/thư mục android. Điều này cho phép tôi thiết lập trình mô phỏng và tất cả đều hoạt động rất tốt.

Vấn đề tôi hiện có là với quy trình phát triển.

Tôi hiểu rằng tôi phải chỉnh sửa các tệp cấp cao nhất, không phải các tệp được trình bày trong thư mục nội dung của dự án trong nhật thực khi chúng được tạo bằng lệnh "xây dựng". Các tệp cấp cao nhất này không tồn tại trong dự án tôi đã tạo trong nhật thực khi chúng ở trên thư mục gốc của dự án.

Vì vậy, câu hỏi của tôi là ... tôi có thể sử dụng nhật thực để phát triển dự án này một cách hợp lý không?

Điều tôi đang làm hiện tại là chỉnh sửa tệp www android và sau đó để bơm nó lên nền tảng đám mây, tôi sao chép chúng sao lưu cây. Điều này có vẻ điên rồ.

Có cách nào để có các tệp thực có sẵn trong nhật thực để tôi có thể phát triển chúng và sau đó xây dựng và triển khai cho trình giả lập một cách dễ dàng không?

PS là trí tưởng tượng của tôi hoặc xây dựng cordova có tuổi đi chăng nữa!

Giải pháp

Tôi đã thêm một thư mục trong dự án Android mà là một liên kết đến vị trí của www trong thư mục gốc. Đây là tùy chọn nâng cao khi tạo thư mục.

+2

Tự động xây dựng: nhấp chuột phải vào dự án -> thuộc tính -> Nhà xây dựng và tạo một phiên bản mới (ví dụ: Phonegap Build Android) thực thi android xây dựng điện thoại cục bộ từ thư mục dự án. Điều này sẽ làm cho nó có thể chỉ cần nhấn các nút gỡ lỗi/chạy trong nhật thực và bắt đầu gỡ lỗi. Ngoài ra, có thể an toàn hơn khi đổi tên liên kết thành www ban đầu của bạn. –

+0

Bạn có gặp vấn đề gì trong việc thiết lập đường dẫn cho điều đó không? – stevemarvell

+0

Không, tôi đã đi một cách dễ dàng: người xây dựng gọi "buildphonegap.cmd", trong đó tôi cd vào thư mục dự án và chạy phonegap android xây dựng địa phương. –

Trả lời

15

Để thực hiện việc này, bạn phải sử dụng hai dự án nhật thực khác nhau. Một thư mục chứa myProject/www để phát triển (hãy gọi nó là 'dự án cấp cao nhất') và một cho dự án nền tảng cụ thể của bạn (ví dụ: android, như bạn đã làm).

Trong dự án cấp cao nhất của bạn, bạn viết mã và nếu bạn muốn, bạn thậm chí có thể gỡ lỗi tới một mức độ nhất định (các chức năng không yêu cầu cordova). Sau đó lưu và nhập cordova prepare trong CLI của bạn. Sau đó, bạn có thể chuyển sang dự án Android của mình, nhấn làm mới (F5) và chạy trình giả lập/thiết bị, tìm lỗi và thực hiện thay đổi Android-Manifest. Nếu bạn muốn thay đổi mã, hãy chuyển sang dự án cấp cao nhất của bạn và thực hiện lại quá trình này.

Điều này có vẻ hơi không hài lòng, đúng. Tuy nhiên, hãy nghĩ về cordova không chỉ nuôi ong để phát triển trên android, mà còn trên ios, cửa sổ điện thoại, blackberry, ... Để truy cập tất cả các nền tảng này, bạn phải chuyển sang nhiều ide. Nó làm cho nó dễ dàng hơn rất nhiều sau đó, để có mã mức cao nhất trong một dự án độc lập.

Một số sidenodes:

  1. Sau khi thực hiện quá trình này một vài lần, bạn sẽ mất không quá 2 hoặc 3 giây để cordova prepare và chuyển đổi dự án. Đó là ok, tôi nghĩ.

  2. Bản thân tôi không chỉ sử dụng các dự án nhật thực khác nhau, tôi thậm chí còn sử dụng các cài đặt nhật thực khác nhau.Điều này dường như được sắp xếp tốt hơn cho tôi, vì nó bảo vệ tôi khỏi các tệp cấp cao và cấp thấp khó hiểu.

  3. Thậm chí nếu bạn chỉ phát triển Android, bạn nên sử dụng hai dự án khác nhau, như 'chuẩn bị cordova' (hoặc bất kỳ lệnh cli nào chứa chuẩn bị, xây dựng, mô phỏng và chạy) sẽ ghi đè/xóa tệp của bạn.

  4. Khi cài đặt, việc xây dựng bằng CLI mất khoảng thời gian tương tự như trong nhật thực. Điều đó có ý nghĩa, vì tôi đang sử dụng cùng một sdk cho cả hai. Tuy nhiên, trong quá trình được viết ở trên, không cần sử dụng lệnh cli-build.

  5. Nếu bạn chỉ sử dụng nền tảng Android và không dễ bị nhầm lẫn với các tệp có cùng tên trong một dự án, bạn có thể liên kết thư mục myApp/www trong dự án Android của bạn. Trong trường hợp này, bạn sẽ chỉ có một dự án (Tín dụng cho câu trả lời này đi vào stevemarvell mình, im chỉ việc thêm ở đây cho đầy đủ)

+0

Cảm ơn rất nhiều về câu trả lời dài và được xem xét. Tôi đã áp dụng chiến lược của bạn và thấy nó phù hợp. Ít nhất giờ tôi đã biết không có một mẹo mà tôi đang thiếu. Điều khó hiểu nhất là không có tệp tin cordova js ở cấp cao nhất, mặc dù đây chỉ là một ít phiền toái và không ngăn cản việc kiểm tra trình duyệt trên mã html5/jquery. Tôi đã nhận thấy sự giảm thời gian xây dựng sau lần đầu tiên, điều này thật tuyệt. – stevemarvell

+0

@stevemarvell Bạn được chào đón.Tuy nhiên, tôi tự hỏi nếu một cái gì đó đã không làm việc cuối cùng, như bạn không chấp nhận câu trả lời của tôi, sau khi chấp nhận nó lúc đầu ... :) – miwe

+0

Vâng, đó là một câu trả lời được chấp nhận, nhưng tôi coi là một giải pháp của tôi đầy đủ hơn. Tuy nhiên, trên phản ánh, tôi cảm thấy xấu và do đó sẽ cập nhật :) Bit mới vào giao thức ở đây. – stevemarvell

0

ngoài các giải pháp trên, tôi đã tạo ra một 'công cụ bên ngoài 'cấu hình chạy tiện ích phonegap với tùy chọn' xây dựng địa phương android 'và biến môi trường PATH được đặt thành'/opt/local/bin:/usr/bin:/bin 'cho máy Mac của tôi. từ đó, tôi đã cài đặt các công cụ CDT của Eclipse và sử dụng tính năng 'Launch Group' để chạy công cụ bên ngoài từ dự án cấp cao nhất trước khi gọi một debug trên dự án nền tảng cụ thể.

dường như hoạt động khá tốt. Thật không may họ dự án cấp cao nhất không 'nhớ' thực hiện nhóm khởi động, vì vậy tôi phải chọn nó từ trình gỡ lỗi thả xuống mỗi lần. tôi đã chuyển đổi dự án cấp cao nhất thành JavaScript thành thử nghiệm, nhưng dường như nó không giúp ích gì và 'Cài đặt Chạy/Gỡ lỗi' trong Thuộc tính Dự án đều có màu xám.