Klar kann man nativen Code unter Android verwenden, ungefähr ab Android 1.5 oder 1.6 offziell über den JNI-Wrapper Umweg (davor auch bereits aber damals noch inoffziell), wo man ein Stück Java Code für eine JNI-Trampoline schreiben musste, um den nativen Code nachzuladen und per Hook-Exports aus der nativen Codelib anzuspringen (z.B. frameweise und soundbufferweise bei Games), und bei ab Android 2.3 geht es auch nun nahezu nativ ohne den eigenen Java-JNI-Trampoline-Kram.
Meine Android Apps bzw. Android Games, die nativen Code verwenden, sind z.B.:
Bitte melde dich an, um diesen Link zu sehen. (fast ganz, 99% pascal, 1% java wegen jni trampoline)
Bitte melde dich an, um diesen Link zu sehen. (fast ganz, 99% pascal, 1% java wegen jni trampoline)
Bitte melde dich an, um diesen Link zu sehen. (30% pascal für xm playerengine + soundsystemcode, 70% java für gameplay, grafik etc.)
Bitte melde dich an, um diesen Link zu sehen. (90% pascal für meine kleine xm playerengine, 10% java wegen GUI)
Also Java und nativen Code zu mischen geht bei Android also auch, wie ich bei Cylindix und BeRoXM gemacht habe, während Foembjump und Scenemon hingegen nahezu komplett nativ sind.
Und hier findet man das NDK (Native Development Kit) dafür: Bitte melde dich an, um diesen Link zu sehen.
und hier ein Beispiel für ab Android 2.3 ohne JNI-Trampoline: Bitte melde dich an, um diesen Link zu sehen.