現在、cocos2d-x を使用してゲームを開発しています。もちろんマルチプラットフォーム対応。基本的に、コーディングと開発には xcode を使用します。IAP(In app purchases)をiPhoneとAndroidのそれぞれのコーディングに分けてつけたい Androidで動かなかったあるクラスの関数を呼び出そうとする問題。
ソースには次のものがあります。
cpp側
MyClass::invoke_init()
{
JavaVM* jvm = JniHelper::getJavaVM();
JNIEnv* env;
jvm->GetEnv((void **) &env, JNI_VERSION_1_2);
jclass cls;
jmethodID method;
cls = env->FindClass("com/joycestudios/game/SampleActivity");
method = env->GetMethodID(cls, "initFunc", "()V");
env->CallVoidMethod(cls, method);
}
ジャワ側
public class SampleActivity extends Cocos2dxActivity
{
public void initFunc()
{
Log.v("LOG_INFO", "initFunc()");
}
}
次のように最初のテスト:私は進行中です。xcode からビルドし、build_natvie.sh からビルドし、Eclipse から最後のビルドを行います。しかし、Eclipseで実行した後、黒い画面だけでシャットダウンします。
Javaクラスの関数を呼び出す方法は? 問題の分析も含めて、いくつかのサンプルを見てみましたが、問題はありませんか?