monado/src/external/android-jni-wrap/wrap
2022-09-02 16:25:12 +00:00
..
android.app.cpp external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.app.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.app.impl.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.content.cpp external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.content.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.content.impl.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.content.pm.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.content.pm.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.content.pm.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.database.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.database.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.database.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.graphics.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.graphics.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.graphics.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.net.cpp external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.net.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.net.impl.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.os.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.os.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.os.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.provider.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.provider.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.provider.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.service.vr.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.service.vr.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.service.vr.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.util.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.util.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.util.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.view.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.view.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.view.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.widget.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
android.widget.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
android.widget.impl.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
dalvik.system.cpp aux/android: Using DexClassLoader to load class 2022-09-02 16:25:12 +00:00
dalvik.system.h aux/android: Using DexClassLoader to load class 2022-09-02 16:25:12 +00:00
dalvik.system.impl.h aux/android: Using DexClassLoader to load class 2022-09-02 16:25:12 +00:00
java.lang.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
java.lang.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
java.lang.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
java.util.cpp external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
java.util.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
java.util.impl.h external: Update android-jni-wrap 2021-04-30 17:57:50 -05:00
ObjectWrapperBase.h external: Update android-jni-wrap 2021-12-02 09:40:36 -06:00
README.md external: Add android-jni-wrap. 2020-10-28 09:32:49 -05:00

About these JNI Wrappers

These are fairly simple wrappers around Java classes, using JNI and JNIPP to allow relatively-painless use of Java classes from C++. They are populated as-needed: if you need a method/property that's missing, add it!

Conventions

All classes derive from ObjectWrapperBase or one of its subclasses. (Yes, you can directly mirror inheritance in Java with inheritance in these wrappers.)

All should have a public internal struct called Meta that derives publicly from either MetaBase or MetaBaseDroppable (the more common option, when you don't often need the class object itself), with a member for each method ID. Only the Meta() constructor should be in the .cpp file for a given wrapper: the rest lives in the header so it may be inlined and thus optimized away.

Finding signatures

A command like the following can help you get the JNI signatures of methods:

javap -s -classpath ~/Android/Sdk/platforms/android-26/android.jar android.service.vr.VrListenerService

Adjust the location of the SDK and the class under investigation as needed.