Trang

2/11/16

HƯỚNG DẪN DÙNG IRRLICHT
TRONG ANDOIRD
I. Bài dịch từ ví dụ về Android của Irrlicht (VD 27) :
Để dùng Android bạn cần cài đặt các phần sau :
- Android SDK (from http://developer.android.com)
- Android NDK (from http://developer.android.com)
- ant (a build tool commonly used for Java)
- A Java jdk (for example openjdk-6-jdk)
- GNU Make 3.81 hay mới hơn
- Nếu bạn dùng Window thì phải cài thêm Cygwin (version tối thiểu là 1.7)
Biên dịch Irrlicht và ứng dụng của bạn :
1. Gán đường dẫn của Android SDK vào biến môi trường ANDROID_HOME
2. Thêm đường dẫn : $ANDROID_HOME/tools, $ANDROID_HOME/platform-tools và đường dẫn chính Android NDKvào biến môi trường PATH
3. Vào thư mục bằng cmd : source->Irrlicht->Android và gõ : “ndk-build” hay “ndk-build NDEBUG=1" để biên dịch Irrlicht.
4. vào thư mục examples->27.HelloWorld_Mobile và gõ "ndk-build" hay "ndk-build NDEBUG=1"
5. Gõ "ant debug" để tạo file .APK
6. Chép file HelloWorldMobile-debug.apk vào điện thoại của bạn và cài đặt bình thường hay dùng cách sau :
- Kết nối điện thoại với PC (nhớ bật cho phép gở lỗi) hay chạy chương trình mô phỗng.
- Gõ "adb -d install bin/HelloWorldMobile-debug.apk" (nếu dùng chương trình mô phỗng hay thêm tham số "-e" thay vì "-d") để cài tập tin .APK vào chương trình mô phỗng.
Một số vấn đề :
Error: Unable to resolve project target 'android-10' (không tìm được ‘android-10’)
Cách giải quyết :
Chạy : "android sdk" trong thư mục sdk/tools và cài API 10.
Cách khác : đặt lại APP_PLATFORM trong file Application.mk cho project và cho Irrlicht. Trong trường hợp này bạn nên thay đổi luôn android:minSdkVersion trong file AndroidManifest.xml (đạ test chay Android-19 OK)

Mô tả các FILES :
AndroidManifest.xml:
            Mọi ứng dụng Android cần 1 file này để mô tả những cái cần thiết cho ứng dụng. Tên này phải chính xác là tên AndroidManifest.xml.
Xem http://developer.android.com/guide/topics/manifest/manifest-intro.html
                                                             
build.xml:
            Ant sẽ biên dịch file để tạo gói cuối cùng (.APK)
            Bạn có thể tạo một mô tả riêng như trong tài liệu của Android documentation:
            http://developer.android.com/tools/projects/projects-cmdline.html
            Điều này sau đó sẽ cập nhật file project.properties.
project.properties
            Bao gồm nhiều đích biên dịch (và có thể là thuộc tính của các project khác). Phải có file này.

jni:
            Một thư mục tên này phải là thư mục con của thư mục có chứa file build.xml.
            Thông thường nó chứa các file nguồn (c/c++), trong trong trường hợp của chúng ta dùng ở mức thư mục cao hơn (cùng mức với LOCAL_PATH chứa file Android.mk).
             
jni/Android.mk:
            Makefile cho project.
            Source-files trong project được thêm vào LOCAL_SRC_FILES
            Trong ví dụ Irrlicht example nó còn có thể sao chép vào thư mục assets, nhưng bạn còn có thể tạo assets đúng chổ.
                                               
jni/Application.mk:
            File tùy chọn ví dụ như bỏ bớt các module đã được cài và bạn có thể đặt kiến trúc đích xác định. Xem thêm thông tin trong thư mục docs của ndk.
                                                           
res:
            Thư mục có các tài nguyên được phân phối cho ứng dụng của bạn và có thể truy cập thông qua ID.
            Thật không may đến bây giờ NDK không thể truy cập  tài nguyên này. Vì thế bạn phải bằng cách nào đó truy cập chúng thông qua java-code và sao chép vào c++ hoặc bạn phải HACK để đọc định dạng trực tiếp(Một vài ứng dụng đã làm điều này, nhưng nó không an toàn trong tương lai và google không khuyến khích việc này).
            Hãy xem qua mục "App Resources" trong tài iệu android developer, vì nó khá phức tạp.
            Chúng ta chỉ dùng nó để lưu các icons cho ứng dụng trong ví dụ này.
             
assets:
            Các file ơ đây được phân phối trong ứng dụng của bạn. Nó hoạt động như hệ thống chỉ đọc.
           
assets/media/Shaders:
            Mã Shader cho driver OGLES2 điều khiển mô phổng một loạt hàm cố định.
            Trong ví dụ của chúng ta các lệnh này tự động thực thi việc sao chép trong file Android.mk.
            Đường dẫn mà chương trình shaders tìm kiếm đặt trong IRR_OGLES2_SHADER_PATH định nghĩa ở trong IrrCompileConfig.h
            Các tên là hardcoded  vì thế nó phải được xác định phải có trong thư mục media/Shaders.
            Bạn có thể viết lại shaders, nhưng chắc rằng thêm các file shaders hoạt động được bằng các tên này.
            OGLES1 driver không cần các file này.

obj:
            Tất cả các đối tượng và các thư viện được đặt tại đây trước khi chúng được liên kết với nhau.

libs:
            Chứa mã nhị phân của ứng dụng của bạn sau khi biên dịch. Ứng dụng bản thân nó là một lib(cơ bản vì mã giả “native code” không thể chạy trực tiếp chỉ gồm một lib).

src:
            Thư mục src chỉ cần thiết khi bạn có mã nguồn Javavà chỉ có các file .java và.aidl.

            Dù ví dụ này không dùng Java nhưng do makefile tạo thư mục này vì lệnh ant build.xml trong android sdk cần nó.
HƯỚNG DẪN DÙNG IRRLICHT
TRONG ANDOIRD
I. Bài dịch từ ví dụ về Android của Irrlicht (VD 27) :
Để dùng Android bạn cần cài đặt các phần sau :
- Android SDK (from http://developer.android.com)
- Android NDK (from http://developer.android.com)
- ant (a build tool commonly used for Java)
- A Java jdk (for example openjdk-6-jdk)
- GNU Make 3.81 hay mới hơn
- Nếu bạn dùng Window thì phải cài thêm Cygwin (version tối thiểu là 1.7)
Biên dịch Irrlicht và ứng dụng của bạn :
1. Gán đường dẫn của Android SDK vào biến môi trường ANDROID_HOME
2. Thêm đường dẫn : $ANDROID_HOME/tools, $ANDROID_HOME/platform-tools và đường dẫn chính Android NDKvào biến môi trường PATH
3. Vào thư mục bằng cmd : source->Irrlicht->Android và gõ : “ndk-build” hay “ndk-build NDEBUG=1" để biên dịch Irrlicht.
4. vào thư mục examples->27.HelloWorld_Mobile và gõ "ndk-build" hay "ndk-build NDEBUG=1"
5. Gõ "ant debug" để tạo file .APK
6. Chép file HelloWorldMobile-debug.apk vào điện thoại của bạn và cài đặt bình thường hay dùng cách sau :
- Kết nối điện thoại với PC (nhớ bật cho phép gở lỗi) hay chạy chương trình mô phỗng.
- Gõ "adb -d install bin/HelloWorldMobile-debug.apk" (nếu dùng chương trình mô phỗng hay thêm tham số "-e" thay vì "-d") để cài tập tin .APK vào chương trình mô phỗng.
Một số vấn đề :
Error: Unable to resolve project target 'android-10' (không tìm được ‘android-10’)
Cách giải quyết :
Chạy : "android sdk" trong thư mục sdk/tools và cài API 10.
Cách khác : đặt lại APP_PLATFORM trong file Application.mk cho project và cho Irrlicht. Trong trường hợp này bạn nên thay đổi luôn android:minSdkVersion trong file AndroidManifest.xml (đạ test chay Android-19 OK)

Mô tả các FILES :
AndroidManifest.xml:
            Mọi ứng dụng Android cần 1 file này để mô tả những cái cần thiết cho ứng dụng. Tên này phải chính xác là tên AndroidManifest.xml.
Xem http://developer.android.com/guide/topics/manifest/manifest-intro.html
                                                             
build.xml:
            Ant sẽ biên dịch file để tạo gói cuối cùng (.APK)
            Bạn có thể tạo một mô tả riêng như trong tài liệu của Android documentation:
            http://developer.android.com/tools/projects/projects-cmdline.html
            Điều này sau đó sẽ cập nhật file project.properties.
project.properties
            Bao gồm nhiều đích biên dịch (và có thể là thuộc tính của các project khác). Phải có file này.

jni:
            Một thư mục tên này phải là thư mục con của thư mục có chứa file build.xml.
            Thông thường nó chứa các file nguồn (c/c++), trong trong trường hợp của chúng ta dùng ở mức thư mục cao hơn (cùng mức với LOCAL_PATH chứa file Android.mk).
             
jni/Android.mk:
            Makefile cho project.
            Source-files trong project được thêm vào LOCAL_SRC_FILES
            Trong ví dụ Irrlicht example nó còn có thể sao chép vào thư mục assets, nhưng bạn còn có thể tạo assets đúng chổ.
                                               
jni/Application.mk:
            File tùy chọn ví dụ như bỏ bớt các module đã được cài và bạn có thể đặt kiến trúc đích xác định. Xem thêm thông tin trong thư mục docs của ndk.
                                                           
res:
            Thư mục có các tài nguyên được phân phối cho ứng dụng của bạn và có thể truy cập thông qua ID.
            Thật không may đến bây giờ NDK không thể truy cập  tài nguyên này. Vì thế bạn phải bằng cách nào đó truy cập chúng thông qua java-code và sao chép vào c++ hoặc bạn phải HACK để đọc định dạng trực tiếp(Một vài ứng dụng đã làm điều này, nhưng nó không an toàn trong tương lai và google không khuyến khích việc này).
            Hãy xem qua mục "App Resources" trong tài iệu android developer, vì nó khá phức tạp.
            Chúng ta chỉ dùng nó để lưu các icons cho ứng dụng trong ví dụ này.
             
assets:
            Các file ơ đây được phân phối trong ứng dụng của bạn. Nó hoạt động như hệ thống chỉ đọc.
           
assets/media/Shaders:
            Mã Shader cho driver OGLES2 điều khiển mô phổng một loạt hàm cố định.
            Trong ví dụ của chúng ta các lệnh này tự động thực thi việc sao chép trong file Android.mk.
            Đường dẫn mà chương trình shaders tìm kiếm đặt trong IRR_OGLES2_SHADER_PATH định nghĩa ở trong IrrCompileConfig.h
            Các tên là hardcoded  vì thế nó phải được xác định phải có trong thư mục media/Shaders.
            Bạn có thể viết lại shaders, nhưng chắc rằng thêm các file shaders hoạt động được bằng các tên này.
            OGLES1 driver không cần các file này.

obj:
            Tất cả các đối tượng và các thư viện được đặt tại đây trước khi chúng được liên kết với nhau.

libs:
            Chứa mã nhị phân của ứng dụng của bạn sau khi biên dịch. Ứng dụng bản thân nó là một lib(cơ bản vì mã giả “native code” không thể chạy trực tiếp chỉ gồm một lib).

src:
            Thư mục src chỉ cần thiết khi bạn có mã nguồn Javavà chỉ có các file .java và.aidl.

            Dù ví dụ này không dùng Java nhưng do makefile tạo thư mục này vì lệnh ant build.xml trong android sdk cần nó.

Bài đăng phổ biến