Хотел приделать поддержку вибры в игре для Android. Методы активации вибры принимают Long и Long[]. Используя JNI сишный лонг портится (32 бита в native против 64 в яве).
Пока сделал костыль - из си передаю long long:
void vibrate(long long time)
{
// call to java static method
jmethodID methodId = env->GetStaticMethodID(cls, "nativeVibrate", "(J)V");
env->GallStaticVoidMethod(cls, methodId, time);
}
Это прототипы методов в яве:
public abstract void vibrate(long milliseconds)