Skip to content
meeloo edited this page Jun 10, 2011 · 5 revisions

How to build:

  • create symlinks to the android sdk and ndk next to nui's folder. If you installed your android sdk and ndk in /bleh and nui3 in /some/folder, type this: ln -s /bleh/android-sdk-xxx /some/folder/android-sdk ln -s /bleh/android-ndk-xxx /some/folder/android-ndk

  • cd to nui3/android/NativeTest and run ./build. This script should build the test application and all the libs, then install it on the first found android device (which is the simulator if you have launched it already).

Status of the android port:

  • the build system we use for now is the ndk makefiles
  • most deps now build and link, except:
    • tracemonkey (?)
  • created the basic build for libnui (nui3/jni/Android.mk)
  • moved nglString to utf-8
  • Started to adapt the font engine (in a separate branch on meeloo's remote: utf-8)
  • created an android directory with stubs sources (mostly by duplicating the linux and iOS ports)
  • (TBD) port main classes:
    • nglStringConv
    • nglPath / nglFile (OK)
    • nglKernel
    • nglApplication
    • nglWindow
    • nglContext
    • nglTime
    • nglVideoMode
    • check pthread operation (OK)
    • atomic operations
    • nuiAudioDevice
    • nuiAudioDecoder
    • nuiHTTP
    • etc.

Work log & Discussion:

android implementation TODO

Audio/nuiAudioDevice_ (TBD)

AudioSamples/nuiAudioDecoder_ (TBD)

Base/nuiNativeResource => nuiGetNativeResourcePath() For the moment the implementation uses the linux way, we should have a look at the correct android implementation of the resource system.

Font/nuiPhoneFontDb.cpp ??? ---> we need to create an equivalent.

Net/nuiURL_ For now, we use nuiURL_Unix which does almost nothing, we need to implement it Net/nuiHTTP_ (TBD)

String/nglStringConv (TBD)

Time/nglTimer_ (TBD)

Window/nglContext_ (TBD) Window/nglVideoMode_ (TBD) Window/nglWindow_ (TBD) Window/nglMainMenu_ (TBD) Window/nglEvent_ (TBD)

Application/nglClipBoard_ use _Unix for now, create Android stub and implement it Application/nglConsole use _Unix for now, create Android stub and implement it Application/nglDataObjects use _Unix for now, create Android stub and implement it Application/nglKernel use _Unix for now, create Android stub and implement it Application/nglModule use _Unix for now, create _Android stub and implement it