Version

menu_open

Android Platform Project Configuration

After you install GME In-Game Voice Chat through the Audiokinetic Launcher, the GME SDK is installed in the corresponding platform folders, in the default Wwise SDK directory. The naming rules of the GME SDK are consistent with those used by Wwise (%WWISEROOT%\SDK). The SDK directory also includes the GME related header files.

SDK Directory

Description

Android_arm64-v8a

64-bit Android ARM

Android_armeabi-v7a

32-bit Android ARM

Android_x86

32-bit Android x86

Android_x86_64

64-bit Android x86

%WWISEROOT%\SDK\include

GME In-Game Voice Chat header file and GME API header file

The GME SDK for Android includes header files, libraries, dependency dynamic libraries, and a Java jar library package:

  • Header files: TencentGMEFactory.h, TencentGMEPlugin.h

  • Plug-in library: libTencentGMEPlugin.a

  • Dynamic libraries: libgmesdk.so, libTencentGME.so

  • Jar class library: gmesdk.jar

Copy the header files, the dynamic libraries, and the Java library to the Android project directory. Place the gmesdk.jar in the libs folder, which is generated after the Android native code is compiled. The following image shows the structure of the libs folder:

In the Android.mk file, include the directories and dependency libraries of the GME SDK. Use the following pseudo Android.mk content for reference:

include $(CLEAR_VARS)
LOCAL_MODULE := libgmesdk
LOCAL_SRC_FILES := $(LOCAL_PATH)/../GME_SDK/Android_$(APP_ABI)/$(CONFIGURATION)/bin/GME_PLUGIN/libgmesdk.so
include $(PREBUILT_SHARED_LIBRARY)
 
include $(CLEAR_VARS)
LOCAL_MODULE := TencentGME
LOCAL_SRC_FILES := $(LOCAL_PATH)/../GME_SDK/Android_$(APP_ABI)/$(CONFIGURATION)/lib/libTencentGME.a
include $(PREBUILT_STATIC_LIBRARY)
…
include ($CLEAR_VARS)
…
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../GME_SDK/include
LOCAL_SHARED_LIBRARIES += libgmesdk
LOCAL_STATIC_LIBRARIES += TencentGME
…
include $(BUILD_SHARED_LIBRARY)

In the Android project AndroidManifest.xml file, you can add the following permissions:

<!-- INTERNET is needed to use communication -->
<uses-permission android:name=”android.permission.RECORD_AUDIO“ />
<uses-permission android:name=”android.permission.INTERNET“ />
<uses-permission android:name=”android.permission.BLUETOOTH“ />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE“ />

However, for permissions that are not essential to the operation of your application, follow the Android guidelines, which recommend that they be requested at runtime only.

From the location of the Application Java source code, call the following Java codes to pass Application Context to GME:

protected void onCreate(android.os.Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	com.tencent.GME.GMESDK.setApplicationContext(this);
}

If Java code needs to be obfuscated, add the following configuration to ensure that the GME-related classes don’t change.

-dontwarn com.tencent.**
-keep class com.tencent.** { *;}
-keepclassmembers class com.tencent.**{*;}

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise