虛幻4 安卓平臺SDK的接入

參考GoogleVRHMD的編寫:

1.Java 調用CPP的函數大概是都是這個樣子:
extern "C" void Java_com_epicgames_ue4_GameActivity_native**********(JNIEnv* jenv, jobject thiz)
{
}

前面是Java對應函數聲明的位置。

在xml也要定義一下:

public native void nativeOnUiLayerBack();



2.CPP調用Java一般大概是這樣:

void AndroidThunkCpp_UiLayer_SetEnabled(bool bEnable)
{
  if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
  {
  static jmethodID UiLayerMethod = FJavaWrapper::FindMethod(Env, FJavaWrapper::GameActivityClassID, "AndroidThunkJava_UiLayer_SetEnabled", "(Z)V", false);
  FJavaWrapper::CallVoidMethod(Env, FJavaWrapper::GameActivityThis, UiLayerMethod, bEnable);
  }
}



3.虛幻有一個xml文件比較有意思:

GoogleVRHMD_APL.xml

大概是這個意思,虛幻打包安卓錢,先遍歷一遍這個xml文件,把所有的xml文件裏面的標註gameActivityClassAdditions的添加的類裏面,還有一堆其他的,可以拷貝文件,可以gameActivityImportAdditions。


在打包玩安卓以後,在Intermediate\Android文件夾下其實是一個安卓工程,
Intermediate\Android\APK\src\com\epicgames\ue4\GameActivity.java
這個文件就是生成之後的,可以看到xml裏面填寫的那些代碼在各個函數裏面。

發佈了90 篇原創文章 · 獲贊 25 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章