Tuesday, September 30, 2014

Cocos2d-x: Eclipse báo lỗi “Android Library Update” , “C/C++ Indexer” sau khi Import dự án

Một lỗi rất hay xảy đối với nền tảng Android trong Eclipse, sau khi Import dự án, thiết lập NDK_ROOT và build được dự án trên MAC. Chúng ta thoát Eclipse, sau đó mở lại thì bị báo lỗi như sau:


Khi đó chúng ta thử vào Project/Propertise:
  • Chọn mục C/C++ Build sẽ nhận được thông báo lỗi

  • Tất cả các thông tin biến môi trường, các thiết lập trước đó đều biến mất, và dĩ nhiên là không thể build và run được dự án nữa.
Nguyên nhân của lỗi này là do sau lần thiết lập môi trường làm việc lần đầu tiên, khi thoát Eclipse, nó đã cập nhật thêm một đoạn cấu hình trong file .cproject và đoạn cấu hình đã làm hỏng toàn bộ thiết lập của chúng ta ở phiên làm việc trước.

Để khắc phục lỗi này, chúng ta sẽ đối chiếu file .cproject của dự án với file .cproject trong thư mục templates/cpp-template-default của Cocos2d-x. Sau đó gỡ bỏ đi đoạn cấu hình lỗi ở trên.

Trong MAC OS, các file .cproject đều bị ẩn đi, chúng nằm trong thư mục proj.android, do vậy để mở được file này chúng ta sẽ sử dụng Command Line
Mở Terminal, nhập vào đoạn script

mucdongs-Mac:~mucdong$ cd /Volumes/DATA/Projects/cocos2dx-workspace/Fucking/proj.android

mucdongs-Mac:proj.android mucdong$ open -e .cproject
Đoạn này sẽ giúp chúng ta chuyển đến thư mục proj.android của dự án và sau đó mở file .cproject trong trình Text editor
Ta tiếp tục với file .cproject mặc định của Cocos2d-x

mucdongs-Mac:~mucdong$ cd /Volumes/DATA/DevTools/cocos2d-x-3.2/templates/cpp-template-default/proj.android

mucdongs-Mac:proj.android mucdong$ open -e .cproject
Sau bước này chúng ta thực hiện copy toàn bộ nội dung 2 file sang 2 file text, ví dụ: new.rtf và old.rtf. Sử dụng chương trình FileMerge hoặc FileCompare được tìm sự khác nhau của 2 file này

Sau đó quay lại cửa sổ Text Editor file .cproject của dự án, chúng ta tìm đoạn cấu hình khác ở trên, xóa bỏ, lưu lại file .cproject. Khởi động lại Eclipse và chúng ta sẽ không còn thấy lỗi nữa






No comments:

Post a Comment