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ó.
Không có nhận xét nào:
Đăng nhận xét