Index
A
- ABIs
- about / Introduction, Getting ready
- Android NDK application, building / Building an Android NDK application for different ABIs, Getting ready, How to do it..., How it works…
- AccessInstanceFieldDemo / How it works…
- AccessInstanceMethodDemo native method / How it works…
- AccessStaticMethodDemo / How it works…
- ADT
- about / How it works…
- ADT plugin
- about / Introduction
- algorithm
- about / Introduction
- all-subdir-makefiles variable / How it works...
- ambient light / How it works...
- ANativeActivity data structure / How it works…
- ANativeActivity_onCreate function / How it works…
- ANativeActivity_onCreate method / How to do it…, How it works…
- ANativeWindow_fromSurface / Window management, How it works…
- ANativeWindow_setBuffersGeometrye / Window management
- Android
- command-line executable porting, with NDK build system / Porting a command-line executable to Android with an NDK build system, How to do it..., How it works..., Understanding the Android.mk files
- command-line executable porting, with NDK standalone compiler / Porting a command-line executable to Android with an NDK standalone compiler, How to do it..., How it works...
- android$hasCode / How to do it…
- android.app.lib_name metadata / How to do it…
- Android.mk files
- about / How it works..., Understanding the Android.mk files
- CLEAR_VARS variable / How it works...
- BUILD_SHARED_LIBRARY variable / How it works...
- my-dir variable / How it works...
- all-subdir-makefiles variable / How it works...
- LOCAL_PATH variable / How it works...
- LOCAL_MODULE variable / How it works...
- LOCAL_SRC_FILES variable / How it works...
- LOCAL_C_INCLUDES variable / How it works...
- LOCAL_SHARED_LIBRARIES variable / How it works...
- LOCAL_LDLIBS variable / How it works...
- BUILD_STATIC_LIBRARY variable / How it works...
- LOCAL_STATIC_LIBRARIES variable / How it works...
- LOCAL_WHOLE_STATIC_LIBRARIES variable / How it works...
- android.os.Process.setThreadPriority
- calling / Scheduling using nice value/level
- Android App
- ported, GUI adding to / Adding GUI to a ported Android app, How to do it..., How it works...
- AndroidBitmap_getInfo function / How it works...
- Android Developer Tools bundle
- URL / Getting ready
- Android developer website
- URL / There's more…
- Android log library / How it works…
- Android log messages
- priority / How it works...
- log tag / How it works...
- log message / How it works...
- Android native app glue
- used, for creating native activity / Creating a native activity with the Android native app glue, How to do it…, How it works…
- Android NDK
- about / Introduction
- advantages / Introduction
- development environment, setting up in Windows / Getting ready, How to do it…, How it works…
- development environment, setting up in Ubuntu Linux / Setting up an Android NDK development environment in Ubuntu Linux, Getting ready, How it works…, There's more…
- latest version downloading, URL for / How to do it…
- development environment, setting up in Mac OS / Setting up an Android NDK development environment in Mac OS, How to do it…, How it works…
- updating / Updating Android NDK
- updating in Windows, steps for / How to do it…
- updating in Ubuntu Linux, steps for / How to do it…
- updating in Mac OS, steps for / How to do it…
- input events, detecting / Detecting and handling input events at Android NDK, How to do it…, How it works…
- input events, handling / Detecting and handling input events at Android NDK, How to do it…, How it works…
- sensors, accessing / Accessing sensors at Android NDK, How to do it…, How it works…
- assets, managing / Managing assets at Android NDK, How to do it…, How it works…
- native threads, creating / How to do it..., How it works...
- native threads, synchronizing with mutex / Synchronizing native threads with mutex at Android NDK, How to do it...
- native threads, synchronizing with conditional variables / Synchronizing native threads with conditional variables at Android NDK, How to do it..., How it works...
- native threads, synchronizing with reader/writer lock / Synchronizing native threads with reader/writer locks at Android NDK, How to do it..., How it works...
- native threads, synchronizing with semaphore / Synchronizing native threads with semaphore at Android NDK, How to do it...
- native threads, scheduling at / Scheduling native threads at Android NDK, How to do it...
- data, managing for native threads / Managing data for native threads at Android NDK, How to do it..., How it works...
- jnigraphics library, programming with / How to do it..., How it works...
- dynamic linker library, programming with / Programming with the dynamic linker library in Android NDK, How to do it..., How it works...
- zlib compression library, programming with / Programming with the zlib compression library in Android NDK, How to do it..., How it works..., There's more...
- audio, programming with OpenSL ES Audio library / Programming audio with the OpenSL ES audio library in Android NDK, Getting ready..., How to do it..., How it works...
- OpenMAX AL multimedia library, programming with / Programming with the OpenMAX AL multimedia library in Android NDK, Getting ready..., How to do it..., How it works...
- boost library, using / How to do it...
- C++ runtime at / How it works...
- Android NDK application
- building, at command line / Building an Android NDK application at the command line, How to do it…, How it works…, There's more...
- building, in Eclipse / Building an Android NDK application in Eclipse, How to do it…, How it works...
- building, for CPU features / Building Android NDK applications for different CPU features, How to do it…, How it works…, There's more…
- debugging, with CheckJNI / Debugging an Android NDK application with CheckJNI, How to do it..., How it works...
- debugging, with NDK GDB / Debugging an Android NDK application with NDK GDB, How to do it..., How it works...
- debugging, with CGDB / Debugging an Android NDK application with CGDB, How to do it..., How it works...
- debugging, in Eclipse / Debugging an Android NDK application in Eclipse, How to do it..., How it works...
- Android NDK application
- building, for different ABIs / Building an Android NDK application for different ABIs, Getting ready, How to do it..., How it works…
- debugging, with logging messages / Debugging an Android NDK application with logging messages, How to do it…, How it works...
- Android NDK development environment
- setting up, in Windows / Getting ready, How to do it…, How it works…
- Android Developer Tools bundle, URL / Getting ready
- setting up, in Ubuntu Linux / Setting up an Android NDK development environment in Ubuntu Linux, Getting ready, How it works…
- setting up, tips for / There's more…
- setting up, in Mac OS / Setting up an Android NDK development environment in Mac OS, How to do it…, How it works…
- Android NDK toolchain
- used, for porting library with existing build system / Porting a library with its existing build system using the Android NDK toolchain, How to do it..., How it works..., There's more...
- Android SDK
- URL, for downloading / How to do it…
- android tool / How to do it…
- android_app->onAppCmd function / How it works…
- android_app_create function / How it works…
- android_app_entry function / How it works…
- android_app_pre_exec_cmd function / How it works…
- ANDROID_CPU_ARM_FEATURE_ARMv7 / How it works…
- ANDROID_CPU_ARM_FEATURE_NEON / How it works…
- ANDROID_CPU_ARM_FEATURE_VFPv3 / How it works…
- ANDROID_CPU_X86_FEATURE_MOVBE / How it works…
- ANDROID_CPU_X86_FEATURE_POPCNT / How it works…
- ANDROID_CPU_X86_FEATURE_SSSE3 / How it works…
- android_main / How to do it…
- android_main function / How it works…, How to do it…
- android_native_app_glue / How it works…
- android_native_app_glue library / How to do it…, How it works…
- android_native_app_glue Library Internals / How it works…
- android_poll_source data structure / How it works…
- Apache Ant tool / Getting ready
- Apple developer account
- URL / Getting ready
- Application Not Responding (ANR) / How to do it...
- argument field / How it works…
- ARM CPU family
- CPU feature detections / How it works…
- ARM CPU family, CPU feature detections
- ANDROID_CPU_ARM_FEATURE_ARMv7 / How it works…
- ANDROID_CPU_ARM_FEATURE_VFPv3 / How it works…
- ANDROID_CPU_ARM_FEATURE_NEON / How it works…
- ARM documentation
- website, URL / Getting ready
- armeabi-v7a ABI / Getting ready
- armeabi ABI / Getting ready
- arrays
- in JNI, manipulating / Manipulating arrays in JNI, How it works…
- assembly code
- in JNI, integrating / Integrating assembly code in JNI, How to do it…, How it works…
- compiling / How it works…
- assetManager / How it works…
- assets
- managing, at Android NDK / Managing assets at Android NDK, How to do it…, How it works…
- reading, steps for / How it works…
- directory, opening / How it works…
- file name, getting / How it works…
- file, opening / How it works…
- file, reading / How it works…
- file, closing / How it works…
- directory, closing / How it works…
- assignment
- versus New<ReferenceType>Ref / How it works…
- AttachCurrentThread / How it works…
- AttachCurrentThread JNi function / How it works…, There's more…
- attribute / OpenGL Shading Language (GLSL)
- audio
- programming, with OpenSL ES Audio library / Programming audio with the OpenSL ES audio library in Android NDK, Getting ready..., How to do it..., How it works...
B
- .bashrc file / How it works…
- background thread / How it works…
- using, at porting / Using background threads at porting, How to do it...
- bad reference / How it works...
- bool / OpenGL Shading Language (GLSL)
- boolean, Java type / How it works…
- boolean Java field type / How it works…
- boost library
- using, for Android NDK / How to do it...
- bqPlayerCallback / How to do it...
- bqRecorderCallback function / OpenSL ES audio recording
- BUILD_EXECUTABLE
- BUILD_SHARED_LIBRARY variable / How it works...
- BUILD_STATIC_LIBRARY variable / How it works...
- built-in types, GLSL
- gl_Vertex attribute / OpenGL Shading Language (GLSL)
- gl_Color attribute / OpenGL Shading Language (GLSL)
- gl_ModelViewMatrix attribute / OpenGL Shading Language (GLSL)
- gl_ModelViewProjectionMatrix attribute / OpenGL Shading Language (GLSL)
- gl_Position attribute / OpenGL Shading Language (GLSL)
- gl_FragColor attribute / OpenGL Shading Language (GLSL)
- byte, Java type / How it works…
- byte Java field type / How it works…
C
- C++ exception
- support, enabling / How it works...
- C++ RTTI support
- support, enabling / How it works...
- C++ runtime
- at Android NDK / How it works...
- caching references / How it works…
- callAccessInstanceMethodDemo method / How it works…
- callAssemblyMultiplyDemo method / How to do it…
- callAssemblyMultiplyDemo native method / How to do it…
- callbacks attribute / How it works…
- callFatalErrorDemo Java method / How it works…
- callGetArrayLengthDemo method / How it works…
- callGetReleaseIntArrayDemo method / How it works…
- callGetSetIntArrayRegionDemo method / How it works…
- callGetSetObjectArrayDemo method / How it works…
- callInlineAssemblyAddDemo method / How to do it…
- callInlineAssemblyAddDemo native method / How to do it…
- callMethodReflectionDemo method / How it works…
- callNewObjectArrayDemo method / How it works…
- carve_progress function / How to do it..., How it works...
- CGDB
- Android NDK application, debugging with / Debugging an Android NDK application with CGDB, How to do it..., How it works...
- cgdb
- installing, on different operating systems / Getting ready
- about / How to do it...
- char, Java type / How it works…
- char Java field type / How it works…
- Charset.defaultCharset().name() method / How it works…
- CheckJNI
- Android NDK application, debugging with / Debugging an Android NDK application with CheckJNI, How to do it..., How it works...
- errors, checking / How it works...
- CheckJNI, errors checking
- negative-sized array / How it works...
- bad reference / How it works...
- class names / How it works...
- critical calls / How it works...
- exceptions / How it works...
- jfieldIDs / How it works...
- jmethodIDs / How it works...
- references / How it works...
- release mode / How it works...
- type safety / How it works...
- UTF-8 / How it works...
- class descriptor / How it works…
- classes
- in JNI, manipulating / Manipulating classes in JNI, How it works…
- ClassManipulation project / How it works…
- class names / How it works...
- clazz / How it works…
- clazz argument / How it works…, How it works…
- CLEAR_VARS variable / How it works...
- code point / Getting ready
- colors
- at OpenGL ES / Colors at OpenGL ES
- command-line executable
- porting, to Android with NDK build system / Porting a command-line executable to Android with an NDK build system, How to do it..., How it works...
- porting, steps for / How it works...
- porting, to Android with NDK standalone compiler / Porting a command-line executable to Android with an NDK standalone compiler, How to do it..., How it works...
- command line
- Android NDK application, building / Building an Android NDK application at the command line, How to do it…, How it works…, There's more...
- HelloNDK application, creating / How to do it…
- HelloNDK application, building / How to do it…
- native library, building / How to do it…
- screenshot, taking / Taking screenshots from the command line
- compressUtil / How to do it...
- compressUtil function / How to do it...
- conditional variables
- native threads synchronizing with, at Android NDK / Synchronizing native threads with conditional variables at Android NDK, How to do it...
- initializing / Initialize and destroy conditional variables
- destroying / Initialize and destroy conditional variables
- using / Using the conditional variable:
- attributes functions / Conditional variable attributes functions
- timed conditional variable functions / Timed conditional variable functions
- config.guess script
- URL / How to do it...
- config.sub
- URL / How to do it...
- contention scope
- scheduling / How it works..., Scheduling contention scope
- conversion failure / How it works…
- CPU feature detections
- ARM CPU family / How it works…
- x86 CPU family / How it works…
- CPU features
- Android NDK application, building / Building Android NDK applications for different CPU features, How to do it…, How it works…, There's more…
- ANDROID_CPU_ARM_FEATURE_ARMv7 / How it works…
- ANDROID_CPU_ARM_FEATURE_VFPv3 / How it works…
- ANDROID_CPU_ARM_FEATURE_NEON / How it works…
- detections / How it works…
- ANDROID_CPU_X86_FEATURE_SSSE3 / How it works…
- ANDROID_CPU_X86_FEATURE_POPCNT / How it works…
- ANDROID_CPU_X86_FEATURE_MOVBE / How it works…
- detecting / More about CPU feature detection
- building, approaches for / Different approaches of building for different cpu features
- cpufeatures library / More about CPU feature detection
- CreateAudioPlayer method / Object creation
- CreateAudioRecorder() method / Object creation
- createAudioRecorder function / OpenSL ES audio recording
- createProgram method / How to do it...
- critical calls / How it works...
- Cube.cpp / How to do it...
- Cube.h / How to do it...
- CubeG2.cpp / How to do it...
- Cygwin
- about / Getting ready
- Cygwin.bat / How to do it…
- cygwin root directory / How to do it…
D
- -DANDROID / Porting libpng
- -D__ARM_ARCH_5E__ / Porting libpng
- -D__ARM_ARCH_5T / Porting libpng
- -D__ARM_ARCH_5TE / Porting libpng
- -D__ARM_ARCH_5__ / Porting libpng
- 2D Graphics
- drawing, with OpenGL ES 1.x API / Drawing 2D Graphics and applying transforms with the OpenGL ES 1.x API, How to do it...
- 3D graphics
- drawing, with OpenGL ES 1.x API / Drawing 3D graphics and lighting up the scene with the OpenGL ES 1.x API, How to do it..., How it works...
- drawing, with OpenGL ES 2.0 API / Drawing 3D graphics with the OpenGL ES 2.0 API, How to do it..., How it works...
- 3D objects
- drawing, in Open GL ES / How it works...
- texture mapping to, with OpenGL ES 1.x API / Mapping texture to 3D objects with the OpenGL ES 1.x API, How to do it..., How it works...
- Dalvik VM
- about / Introduction, Introduction
- data
- managing for native threads, at Android NDK / Managing data for native threads at Android NDK, How to do it..., How it works...
- data types, GLSL
- about / OpenGL Shading Language (GLSL)
- bool / OpenGL Shading Language (GLSL)
- int / OpenGL Shading Language (GLSL)
- float / OpenGL Shading Language (GLSL)
- sampler / OpenGL Shading Language (GLSL)
- DDD / There's more...
- debuggable attribute / How to do it...
- DefineClass JNI function / How it works…
- DeleteGlobalRef / How it works…
- destLen / How it works...
- Destroy() method / Object creation, Changing states of objects
- diffuse light / How it works...
- DI_info data structure / How it works...
- dladdr function / How it works...
- dlclose function / How it works...
- dlerror function / How it works...
- dli_fname / How it works...
- dlopen function / How it works...
- dlsym function / How it works...
- double, Java type / How it works…
- double Java field type / How it works…
- Dummy(int pValue), Java method / How it works…
- Dummy class / How it works…
- DummyInterface interface / How to do it…
- Dummy object array / How it works…
- DummySub class / How to do it…
- Dummy[] Java field type / How it works…
- Dummy[][] Java field type / How it works…
- dynamic linker library
- programming with, in Android NDK / Programming with the dynamic linker library in Android NDK, How to do it..., How it works...
- dynamic loading library
- URL / How it works...
E
- EAGL / How it works...
- Eclipse
- Android NDK application, building / Building an Android NDK application in Eclipse, How to do it…, How it works...
- Android NDK application, debugging / Debugging an Android NDK application in Eclipse, How to do it..., How it works...
- EGL / How it works...
- graphics, displaying with / Displaying graphics with EGL, How to do it..., How it works...
- eglMakeCurrent / How it works...
- EGL
- configuring / How it works...
- rendering context, creating / How it works...
- eglCreateContext / How it works...
- eglCreateContext / How it works...
- EGLDemo.cpp / How to do it...
- naSurfaceChanged method / How to do it...
- naRequestRenderer method / How to do it...
- eglMakeCurrent / How it works...
- elems native buffer / How it works…
- emission light / How it works...
- env attribute / How it works…
- Environment Variables button / Getting ready
- errors
- in JNI, checking / Checking errors and handling exceptions in JNI, How it works…
- ExceptionDemo / How it works…
- ExceptionDemo native method / How it works…
- ExceptionDescribe / How it works…
- exceptions
- in JNI, handling / Checking errors and handling exceptions in JNI, How it works…
- externalDataPath / How it works…
F
- -ffunction-sections option / Porting libpng
- -finline-limit=64 / Porting libpng
- -finline-limit=64 option / Porting libpng
- -fno-strict-aliasing option / Porting libpng
- -fomit-frame-pointer / Porting libpng
- -fpic option / Porting libpng
- -funwind-tables option / Porting libpng
- FatalError function / How it works…
- field / How it works…
- field descriptor / How it works…
- FindClass
- and class loader / How it works…
- FindClass call / How it works…
- findClassDemo2 method / How it works…
- findClassDemo method / How it works…
- FindClass function / How it works…, How it works…
- First In First Out (FIFO) / Scheduling policy and thread priority
- fixed function pipeline / Introduction
- float / OpenGL Shading Language (GLSL)
- float, Java type / How it works…
- float Java field type / How it works…
- fnPtr / How it works…
- fragment
- about / Introduction
- processing / Introduction
- fragment shader / How it works...
- Fugenschnitzer program (fusch)
- fusch
- porting / Porting fusch
- fusch library
- source code downloading, URL for / How to do it...
- fusch program
- porting, to Android with NDK build system / How to do it...
G
- gabi++ / How it works...
- Garbage Collector (GC) / How it works…
- gdb command / How it works..., How to do it...
- GetArrayLengthDemo native method / How it works…
- GetArrayLength native function / How it works…
- getContactStr method / How to do it…
- GetIntArrayElements / How it works…
- GetIntArrayRegion function / How it works…
- GetInterface() method / Object creation
- get JNI function / How it works…
- getName method / How it works…
- GetObjectArrayElement / How it works…
- GetObjectClassDemo native method / How it works…
- GetReleasePrimitiveArrayCriticalDemo native method / How to do it…
- GetSetObjectArrayDemo native method / How it works…
- GetStaticMethodID function / How it works…
- GetStringUTFChars function / How it works…
- GetStringUTFRegion function / How it works…
- GetSuperclassDemo native method / How it works…
- GetSuperclass JNI function / How it works…
- getValue method / How it works…
- glAttachShader method / How to use shader:
- glCompileShader method / How to use shader:
- glCreateProgram method / How to use shader:
- glCreateShade method / How to use shader:
- glDepthRange / OpenGL ES transformation
- glDrawArrays method / How to use shader:
- glEnableVertexAttribArray method / How to use shader:
- glGenTexture texture
- creating / How it works...
- glGetAttribLocation method / How to use shader:
- glGetUniformLocation method / How to use shader:
- glLinkProgram method / How to use shader:
- global illumination / How it works...
- globalRefAssignment / How it works…
- global reference
- versus local reference / How it works…
- versus weak reference / How it works…
- about / How it works…
- globalReference method / How to do it…
- glOrthof / OpenGL ES transformation
- glRotatef / OpenGL ES transformation
- glScalef / OpenGL ES transformation
- glShaderSource method / How to use shader:
- GLSL
- about / Introduction
- data types / OpenGL Shading Language (GLSL)
- uniform / OpenGL Shading Language (GLSL)
- attribute / OpenGL Shading Language (GLSL)
- varying / OpenGL Shading Language (GLSL)
- built-in types / OpenGL Shading Language (GLSL)
- GLSurfaceView
- used, for rendering OpenGL ES display / OpenGL ES rendering display through GLSurfaceView
- glTranslatef / OpenGL ES transformation
- glUniform* method / How to use shader:
- glUseProgram method / How to use shader:
- glVertexAttribPointer method / How to use shader:
- glViewport / OpenGL ES transformation
- gl_Color attribute / OpenGL Shading Language (GLSL)
- gl_FragColor attribute / OpenGL Shading Language (GLSL)
- GL_MODELVIEW matrix / OpenGL ES transformation
- gl_ModelViewMatrix attribute / OpenGL Shading Language (GLSL)
- gl_ModelViewProjectionMatrix attribute / OpenGL Shading Language (GLSL)
- gl_Position attribute / OpenGL Shading Language (GLSL)
- gl_Vertex attribute / OpenGL Shading Language (GLSL)
- GNU C Library (glibc) 2.7 / Getting ready
- gnustl / How it works...
- GPU
- about / Introduction
- graphics
- displaying, with EGL / Displaying graphics with EGL, How to do it..., How it works...
- GRP
- about / Introduction
- GUI
- adding, to ported Android App / Adding GUI to a ported Android app, How to do it..., How it works...
- gzip file / How it works...
- gzopen function / How it works...
H
- handler.sendMessage() method / Sending messages from the native code
- handle_activity_lifecycle_events function / How to do it…
- handle_input_events / How to do it…
- HelloNDK app / How to do it…
- Hello NDK program
- writing, steps for / How to do it…
- native code / How it works…
- native code, compiling / How it works…
- Java code / How it works…
I
- IDE
- about / Getting ready
- ImageProcRunnable class / How to do it...
- import-module feature / Introduction
- import module
- library, using in multiple projects / Using a library in multiple projects with import-module, How to do it..., How it works...
- declaring / How it works...
- placing / How it works...
- appending / How it works...
- using / How it works...
- initDisplay / How to do it...
- initialElement / How it works…
- InlineAssemblyAddDemo method / How to do it…
- Input Method Editor (IME) / How it works…
- instance / How it works…
- instance field
- accessing / How it works…
- instance fields
- accessing, in native code / Accessing Java static and instance fields in the native code, How it works…
- instance methods
- calling, from native code / Calling static and instance methods from the native code, How to do it…
- calling / How it works…
- instance object
- creating, in native code / How it works…
- int / OpenGL Shading Language (GLSL)
- int, Java type / How it works…
- Inter-process Communication (IPC) / How it works…
- interface
- about / Getting ready...
- internalDataPath / How it works…
- int Java field type / How it works…
- int[] Java field type / How it works…
- IsAssignableFromDemo method / How to do it…
- IsAssignableFrom JNI function / How it works…
- IsInstanceOf JNi function / How it works…
J
- java.lang.System class / How it works…
- Java code / How it works…
- Java Code
- about / Introduction
- javah
- using, steps for / There's more…
- Java JNI Specification
- URL / Introduction
- Java primitive type mapping / How it works…
- Java program
- location / Taking screenshots from the command line
- Java static
- accessing, in native code / Accessing Java static and instance fields in the native code, How it works…
- Java string
- to native string / How it works…
- Java thread / How it works…
- jboolean variable / How it works…
- jfieldID data type / How it works…
- jfieldIDs / How it works...
- jintarray / How it works…
- JIT
- about / Introduction
- jmethodID data type / How it works…
- jmethodIDs / How it works...
- jmethodID value / How it works…
- JNI
- about / Introduction
- Programmer' s Guide and SpecificationTopicnURL / Introduction
- strings, manipulating / Manipulating strings in JNI, Getting ready, How to do it, How it works…
- character encoding / There's more…
- references, managing / Managing references in JNI, How to do it…
- reference management / How it works…
- classes, manipulating / Manipulating classes in JNI, How it works…
- objects, manipulating / How to do it…, How it works…
- arrays, manipulating / Manipulating arrays in JNI, How it works…
- errors, checking / Checking errors and handling exceptions in JNI, How it works…
- exceptions, handling / Checking errors and handling exceptions in JNI, How it works…
- assembly code, integrating / Integrating assembly code in JNI, How to do it…, How it works…
- JNI character encoding / There's more…
- JNIEnv / How it works…
- JNIEnv Interface Pointer
- about / How it works…
- JNIEnv pointer / How it works…
- jnigraphics function / How it works...
- jnigraphics library
- about / Programming with the jnigraphics library in Android NDK
- programming with, in Android NDK / How to do it..., How it works...
- using, steps for / How it works...
- JNINativeMethod data structure / How it works…
- JNI primitive type mapping / How it works…
- JNIProcessSetThreadPriority.cpp file / How to do it...
- JNI Tips
- URL / Introduction
- JNI_OnLoad / How it works…
- JNI_OnLoad method / How it works…, How it works…
- jni_start_threads function / How to do it..., How to do it...
- jni_start_threads method / How to do it..., How to do it...
- jni_thread_set_priority method / How to do it...
- jobject / How it works…
- jstring / How it works…
- jthrowable object / How it works…
K
- keystore
- about / How to do it…
- Khronos EGL web page
- URL / How it works...
L
- length parameter / How it works…
- len parameter / How it works…
- libbmp library
- URL, for downloading / How to do it...
- libpng
- porting / Porting libpng
- libpng 1.2.50
- URL, for downloading / How to do it..., How to do it...
- libpng library / There's more...
- libPortingStatic.so shared library / How it works...
- library
- porting, as shared library module / Porting a library as a shared library module with the Android NDK build system, How to do it..., How it works...
- porting, as static library module / Porting a library as a static library module with the Android NDK build system, How to do it..., How it works...
- porting with existing build system, Android NDK toolchain used / Porting a library with its existing build system using the Android NDK toolchain, How to do it..., How it works..., There's more...
- using in multiple projects, with import module / Using a library in multiple projects with import-module, How to do it..., How it works...
- porting, for exception / Porting a library that requires RTTI, exception, and STL support, How to do it..., How it works...
- porting, for RTTI / Porting a library that requires RTTI, exception, and STL support, How to do it..., How it works...
- porting, for STL support / Porting a library that requires RTTI, exception, and STL support, How to do it..., How it works...
- library
- using, as prebuilt library / Using a library as a prebuilt library, How to do it..., How it works...
- libseamcarv
- porting / Porting libseamcarv
- lighting / How it works...
- setting up, in OpenGL ES / How it works...
- loadShader method / How to do it...
- local illumination / How it works...
- local reference
- versus weak reference / How it works…
- versus global reference / How it works…
- about / How it works…
- localReference method / How to do it…
- LOCAL_CFLAGS
- LOCAL_C_INCLUDES variable / How it works...
- LOCAL_LDLIBS variable / How it works...
- LOCAL_MODULE variable / How it works...
- LOCAL_PATH variable / How it works...
- LOCAL_SHARED_LIBRARIES variable / How it works...
- LOCAL_SRC_FILES variable / How it works...
- LOCAL_STATIC_LIBRARIES variable / How it works...
- LOCAL_WHOLE_STATIC_LIBRARIES variable / How it works...
- logcat / How it works...
- logcat output / How to do it...
- logcat utility function / How to do it..., How to do it...
- logging messages
- Android NDK application, debugging with / Debugging an Android NDK application with logging messages, How to do it…, How it works...
- long, Java type / How it works…
- long Java field type / How it works…
- lont f(byte[] bytes, Dummy dummy), Java method / How it works…
- looper / How it works…
- creating, with current thread / How it works…
- obtaining, with current thread / How it works…
- event queue, attaching / How it works…
M
- -march=armv5te / Porting libpng
- -msoft-float / Porting libpng
- -mthumb / Porting libpng
- -mtune=xscale / Porting libpng
- Mac OS
- Android NDK development environment, setting up / Setting up an Android NDK development environment in Mac OS, How to do it…, How it works…
- Android NDK, updating / How to do it…
- MainActivity object / Sending messages from the native code
- managed thread / How it works…
- matrix.cpp / How to do it...
- matrix.h / How to do it...
- matrix operations / There's more...
- messages
- sending, from Native Code / Sending messages from the native code
- sending, from native code / Sending messages from the native code
- method descriptor / How it works…
- methodID argument / How it works…
- method IDs / How it works…
- Method object / How it works…
- mips ABI / Getting ready
- ModelView transform
- about / OpenGL ES transformation
- glScalef / OpenGL ES transformation
- glRotatef / OpenGL ES transformation
- glTranslatef / OpenGL ES transformation
- mutex
- native threads synchronizing with, at Android NDK / Synchronizing native threads with mutex at Android NDK, How to do it...
- initializing / Initialize and destroy mutex
- destroying / Initialize and destroy mutex
- using / Using the mutex
- mutex mux / How it works...
- my-dir variable / How it works...
- mylog.h / How to do it...
- mylog.h file / How to do it...
N
- naCompressAndDecompress function / How to do it...
- naCreateABmp method / How to do it...
- naCreateEngine function / OpenMAX AL video playback
- naCreateStreamingMediaPlayer / How to do it...
- naDemoJniGraphics method / How to do it...
- naDrawGraphics method / How to do it...
- naInitGL20 method / How to do it...
- naLoadTexture / How to do it…
- naRequestRenderer method / How to do it...
- naShutdown function / Object creation
- naSurfaceChanged method / How to do it...
- native activity
- creating, with native_activity.h interface / Creating a native activity with the native_activity.h interface, How to do it…, How it works…, There's more…
- creating, with Android native app glue / Creating a native activity with the Android native app glue, How to do it…, How it works…
- NativeActivity / How it works…
- Native Code
- about / Introduction, Loading native libraries and registering native methods
- instance object, creating / How it works…
- Java static, accessing / Accessing Java static and instance fields in the native code, How it works…
- instance fields, accessing / Accessing Java static and instance fields in the native code, How it works…
- instance methods, calling / Calling static and instance methods from the native code, How to do it…, How it works…
- static, calling / Calling static and instance methods from the native code, How to do it…, How it works…
- exceptions, throwing / How it works…
- messages, sending from / Sending messages from the native code
- native code, Hello NDK program
- about / How it works…
- compiling / How it works…
- native libraries
- NativeMethodRegisterActivity.java class / How it works…
- native methods
- loading / Loading native libraries and registering native methods, How to do it…
- registering / How it works…
- native string
- to Java string / How it works…
- native threads
- creating, at Android NDK / How to do it..., How it works...
- synchronizing with mutex, at Android NDK / Synchronizing native threads with mutex at Android NDK, How to do it...
- synchronizing with conditional variables, at Android NDK / Synchronizing native threads with conditional variables at Android NDK, How to do it..., How it works...
- synchronizing with reader/writer lock, at Android NDK / Synchronizing native threads with reader/writer locks at Android NDK, How to do it..., How it works...
- synchronizing with semaphore, at Android NDK / Synchronizing native threads with semaphore at Android NDK, How to do it...
- scheduling, at Android NDK / Scheduling native threads at Android NDK, How to do it...
- scheduling, contention scope / How it works...
- priority / How it works...
- scheduling policy / How it works...
- native windows
- managing, at Android NDK / Managing native windows at Android NDK
- native_activity.h interface
- used, for creating native activity / Creating a native activity with the native_activity.h interface, How to do it…, How it works…, There's more…
- ndk-build / How it works…
- ndk-build -B / How it works…
- ndk-build clean / How it works…
- ndk-build command / How to do it…
- ndk-build NDK_DEBUG=0 / How it works…
- ndk-build NDK_DEBUG=1 / How it works…
- ndk-build options
- ndk-build / How it works…
- ndk-build clean / How it works…
- ndk-build V=1 / How it works…
- ndk-build -B / How it works…
- ndk-build NDK_DEBUG=1 / How it works…
- ndk-build NDK_DEBUG=0 / How it works…
- ndk-build script / Introduction
- ndk-build V=1 / How it works…
- NDK build system
- command line executable, porting to Android / Porting a command-line executable to Android with an NDK build system, How to do it..., How it works..., Understanding the Android.mk files
- NDK GDB
- Android NDK application, debugging with / Debugging an Android NDK application with NDK GDB, How to do it..., How it works...
- NDKLoggingDemo tag / How it works...
- NDK plugin
- for Eclipse / How it works…
- NDK standalone compiler
- command line executable, porting to Android / Porting a command-line executable to Android with an NDK standalone compiler, How to do it..., How it works...
- NDK toolchain / How to do it...
- URL / Porting libpng
- negative-sized array / How it works...
- NEON / Getting ready
- New<ReferenceType>Ref
- versus assignment / How it works…
- New<ReferenceType>Ref JNI function / How it works…
- NewObjectArrayDemo native method / How it works…
- nice value/level
- used, for scheduling / Scheduling using nice value/level
- numInterfaces interface IDs / Object creation
- NVIDIA Debug Manager
- about / There's more...
- URL / There's more...
O
- -Os / Porting libpng
- object
- about / Getting ready...
- creating / Object creation
- states, changing / Changing states of objects
- object Java field type / How it works…
- objects
- in JNI, manipulating / How to do it…, How it works…
- drawing, at OpenGL ES / Drawing objects at OpenGL ES
- OldRenderMethods.cpp / How to do it...
- OldRenderMethods.h / How to do it...
- onWindowFocusChanged callback / How to do it…
- OpenGL
- about / Introduction
- OpenGL 1.x
- about / Introduction
- OpenGL 2.0
- about / Introduction
- OpenGL ES
- about / Introduction
- display rendering, GLSurfaceView used / OpenGL ES rendering display through GLSurfaceView
- objects, drawing at / Drawing objects at OpenGL ES
- colors at / Colors at OpenGL ES
- lighting, setting up / How it works...
- Open GL ES
- 3D objects, drawing / How it works...
- OpenGL ES 1.0
- transformation, stages / OpenGL ES transformation
- OpenGL ES 1.x / Introduction
- fixed function pipeline / Introduction
- OpenGL ES 1.x API
- 2D Graphics, drawing with / Drawing 2D Graphics and applying transforms with the OpenGL ES 1.x API, How to do it...
- 3D graphics, drawing with / Drawing 3D graphics and lighting up the scene with the OpenGL ES 1.x API, How to do it..., How it works...
- texture, mapping to 3D objefcts / Mapping texture to 3D objects with the OpenGL ES 1.x API, How to do it..., How it works...
- OpenGL ES 2.0
- about / Introduction
- programmable pipeline / Introduction
- OpenGL ES 2.0 API
- used, for drawing 3D graphics / Drawing 3D graphics with the OpenGL ES 2.0 API, How to do it..., How it works...
- OpenMAX AL multimedia library
- about / Introduction
- programming with, in Android NDK / Programming with the OpenMAX AL multimedia library in Android NDK, Getting ready..., How to do it..., How it works...
- using / Use and build with the OpenMAX AL multimedia library:
- building with / Use and build with the OpenMAX AL multimedia library:
- video playback / OpenMAX AL video playback
- OpenSL ES
- about / Getting ready...
- OpenSL ES API
- about / Getting ready...
- OpenSL ES Audio library
- about / Introduction
- audio, programming with / Programming audio with the OpenSL ES audio library in Android NDK, Getting ready..., How to do it..., How it works...
- using / Use and build with OpenSL ES Audio library
- building / Use and build with OpenSL ES Audio library
- audio, recording / OpenSL ES audio recording
- recording / OpenSL ES audio recording
- playback / OpenSL ES audio playback
- OpenSLESDemo.cpp / How to do it...
- Orthographic projection
- about / OpenGL ES transformation
- output
- merging / Introduction
P
- parameters
- PassingPrimitiveActivity.java Java code / How to do it…
- passStringReturnString method / How to do it
- pDelete input parameter / How it works…
- Perspective projection
- about / OpenGL ES transformation
- policy
- scheduling / Scheduling policy and thread priority
- polling / How it works...
- porting
- background thread, using / Using background threads at porting, How to do it...
- POSIX thread (pthreads) call / There's more...
- prebuilt library
- library, using as / Using a library as a prebuilt library, How to do it..., How it works...
- using, considerations for / How it works...
- declaring / How it works...
- module name, declaring / How it works...
- source, listing / How it works...
- headers, exporting / How it works...
- compiler, exporting / How it works...
- linker flags, exporting / How it works...
- build type, declaring / How it works...
- using / How it works...
- for debugging / How it works...
- primitives
- about / Introduction
- vertex processing / Introduction
- rasterization / Introduction
- fragment, processing / Introduction
- output, merging / Introduction
- printf method / How it works…
- programmable pipeline / Introduction
- Projection transform / OpenGL ES transformation
- about / OpenGL ES transformation
- pthreads
- building, with / Build with pthreads
- pthread_cond_init function / Initialize and destroy conditional variables
- pthread_cond_signal / Using the conditional variable:
- pthread_cond_timedwait function / Timed conditional variable functions
- pthread_cond_timedwait_monotonic_np function / Timed conditional variable functions
- pthread_cond_timedwait_relative_np function / Timed conditional variable functions
- pthread_cond_timeout_np function / Timed conditional variable functions
- pthread_cond_wait / Using the conditional variable:
- pthread_create function / Thread creation, Sending messages from the native code
- pthread_exit function / Thread termination
- pthread_join function / Thread termination
- pthread_key_create / Creation and deletion of thread-specific data key
- pthread_key_create function / Creation and deletion of thread-specific data key
- pthread_mutex_init function / There's more...
- PTHREAD_MUTEX_INITIALIZER macro / Initialize and destroy mutex
- pthread_mutex_timedlock function / Using the mutex
- pthread_rwlock_destroy / Initialize and destroy a reader/writer lock
- pthread_setspecific function / Set and get thread-specific data
R
- rasterization / Introduction
- read/write lock
- timed / Timed read/write lock and trylock
- attribute functions / Reader/writer lock attribute functions
- reader/writer lock
- native threads synchronizing with, at Android NDK / Synchronizing native threads with reader/writer locks at Android NDK, How to do it..., How it works...
- detroying / Initialize and destroy a reader/writer lock
- initializing / Initialize and destroy a reader/writer lock
- using / Using a reader/writer lock
- readPng callback function / How to do it…
- Realize() method / Changing states of objects
- referenceAssignmentAndNew method / How to do it…
- reference management
- in JNI / How it works…
- references
- in JNI, manipulating / Managing references in JNI, How to do it…, How it works…
- ReferenceTable overflow / How it works…
- RegisterNatives / How it works…
- ReleaseIntArrayElements / How it works…
- ReleaseIntArrayElements JNI function / How it works…
- release mode / How it works...
- renderAFrame, event type / How to do it...
- renderThreadRun, event type / How to do it...
- RenderView class / How to do it...
- return statement / How to do it..., How to do it...
- Round Robin (RR) policy / Scheduling policy and thread priority
- RTLD_LAZY mode / How it works...
- RTLD_NOW mode / How it works...
- RTTI
- about / How it works...
- Run-Time Type Information (RTTI) / Introduction
- run_by_read_thread function / How to do it..., Using a reader/writer lock
- run_by_thread1 function / How to do it...
- run_by_thread2 function / How to do it..., How to do it...
- run_by_thread function / How to do it..., Thread creation, Set and get thread-specific data
- run_by_write_thread function / How to do it...
S
- -std=c99 / Porting libpng
- -std=c99 option / Porting libpng
- sampler / OpenGL Shading Language (GLSL)
- scheduling
- nice value/level used / Scheduling using nice value/level
- SCHED_FIFO / Scheduling policy and thread priority
- SCHED_OTHER / Scheduling policy and thread priority
- SCHED_RR / Scheduling policy and thread priority
- sdkVersion / How it works…
- seam
- about / Introduction
- Seam Carving
- about / Introduction
- seam_progress function / How to do it..., How it works...
- semaphore
- native threads synchronizing with, at Android NDK / Synchronizing native threads with semaphore at Android NDK, How to do it...
- semaphores
- operations / How it works...
- destroying / Initialize and destroy a semaphore
- initializing / Initialize and destroy a semaphore
- using / Using a semaphore
- sensors
- accessing, at Android NDK / Accessing sensors at Android NDK, How to do it…, How it works…
- accessing, steps for / How it works…
- reference, getting / How it works…
- default sensor of given type, getting / How it works…
- queue, creating / How it works…
- ensbling / How it works…
- configuring / How it works…
- events, handling / How it works…
- disabling / How it works…
- SetIntArrayRegion function / How it works…
- setName method / How it works…
- SetObjectArrayElement / How it works…
- setpriority
- calling / Scheduling using nice value/level
- SetPriority.cpp file / How to do it...
- setValue method / How it works…
- shader
- using, steps for / How to use shader:
- creating / How to use shader:
- shared library module
- library, porting as / Porting a library as a shared library module with the Android NDK build system, How to do it..., How it works...
- about / How it works...
- versus static / How it works...
- short, Java type / How it works…
- short Java field type / How it works…
- SIMD
- about / Introduction
- SLEngineItf interface / Object creation
- SLObjectItf interface / Object creation
- specular light / How it works...
- start parameter / How it works…
- startPlaying
- about / How to do it...
- startRecording function / OpenSL ES audio recording
- start_routine function / Thread termination
- static
- calling, from native code / Calling static and instance methods from the native code, How to do it…
- static fields
- accessing / How it works…
- static library module
- library, porting as / Porting a library as a static library module with the Android NDK build system, How to do it..., How it works...
- about / How it works...
- versus shared / How it works...
- static methods
- calling / How it works…
- stdio function / How it works...
- stlport / How it works...
- String getName(), Java method / How it works…
- string Java field type / How it works…
- string length / How it works…
- strings
- in JNI, manipulating / Manipulating strings in JNI, How to do it, How it works…
- surrogate pair / Getting ready
- synchronization
- at Android NDK / Introduction
- synchronizing
- native threads, with mutex / Synchronizing native threads with mutex at Android NDK, How to do it...
- native threads, with conditional variables / Synchronizing native threads with conditional variables at Android NDK, How to do it..., How it works...
- native threads, with reader/writer locks / Synchronizing native threads with reader/writer locks at Android NDK, How to do it..., How it works...
- native threads, with semaphore / Synchronizing native threads with semaphore at Android NDK
- sysroot directory / How it works...
- System.load method / How it works…
- System Properties window / Getting ready
T
- texture
- mapping to 3D objects, with OpenGL ES 1.x API3D / Mapping texture to 3D objects with the OpenGL ES 1.x API, How to do it..., How it works...
- filtering, setting / How it works...
- wrapping, setting / How it works...
- wrapping / How it works...
- filtering / How it works...
- environment, setting / How it works...
- mapping / How it works...
- texture coordinates / How it works...
- thread
- priority, scheduling / Scheduling policy and thread priority
- thread-specific data key
- threads
- pthreads, building with / Build with pthreads
- creating / Thread creation
- terminating / Thread termination
- thread_step_2 function / How to do it...
- ThrowNew function / How it works…
- toolchains / How it works…
- toString method / How it works…
- touch event handling / How it works...
- transformation, OpenGL ES 1.0
- stages / OpenGL ES transformation
- ModelView transform / OpenGL ES transformation
- Projection transform / OpenGL ES transformation
- Viewpoint transform / OpenGL ES transformation
- trylock
- type safety / How it works...
U
- Ubuntu Linux
- Android NDK development environment, setting up / Setting up an Android NDK development environment in Ubuntu Linux, Getting ready, How it works…
- Android NDK development environment, requisites for / Getting ready
- Android NDK, updating / How to do it…
- Unicode Standard
- defining / Getting ready
- Unicode Transformation Format (UTF) / Getting ready
- uniform / OpenGL Shading Language (GLSL)
- Universal Character Set (UCS) encoding / Getting ready
- UNIX Development option / Getting ready
- updateProgress method / How to do it..., Sending messages from the native code
- UTF-8 string / Checking errors and handling exceptions in JNI
- UTF-16 string / Checking errors and handling exceptions in JNI
V
- varying / OpenGL Shading Language (GLSL)
- Vector Floating Point (VFP) / Getting ready
- vertex processing / Introduction
- vertex shader / How it works...
- VFPv3-D16 / Getting ready
- VFPv3-D32 / Getting ready
- Viewpoint transform / OpenGL ES transformation
- VM
- about / Introduction
- vm attribute / How it works…
- void setName(String pName), Java method / How it works…
W
- -Wno-psabi option / Porting libpng
- weak reference
- versus global reference / How it works…
- versus local reference / How it works…
- about / How it works…
- weakReference method / How to do it…
- winant installer
- URL for installing / Getting ready
- window management
- about / Window management
- ANativeWindow_fromSurface / Window management
- ANativeWindow_setBuffersGeometrye / Window management
- Windows
- Android NDK development environment, setting up / Getting ready, How to do it…, How it works…
- Android NDK development environment, requisites for / Getting ready
- Java JDK 6, requisite / Getting ready
- Android NDK, updating / How to do it…
- WRITE_EXTERNAL_STORAGE permission / How to do it...
X
- x86 ABI / Getting ready
- x86 CPU family, CPU feature detections
- ANDROID_CPU_X86_FEATURE_SSSE3 / How it works…
- ANDROID_CPU_X86_FEATURE_POPCNT / How it works…
- ANDROID_CPU_X86_FEATURE_MOVBE / How it works…
Z
- zipalign tool / How to do it…
- zlib compression library
- programming with, in Android NDK / Programming with the zlib compression library in Android NDK, How to do it..., How it works..., There's more...
- ZlibDemo.cpp file / How it works...
- zlib library / There's more...