moving android client build to be part of aFreeRDP.apk gradle build
This commit is contained in:
parent
037084abd5
commit
be07eb6f35
@ -1,54 +0,0 @@
|
|||||||
# FreeRDP: A Remote Desktop Protocol Implementation
|
|
||||||
# Android Client
|
|
||||||
#
|
|
||||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
|
||||||
# Copyright 2013 Bernhard Miklautz <bernhard.miklautz@thincast.com>
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
set(MODULE_NAME "freerdp-android")
|
|
||||||
set(MODULE_PREFIX "FREERDP_CLIENT_ANDROID")
|
|
||||||
|
|
||||||
include_directories(.)
|
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-pointer-sign")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(${MODULE_PREFIX}_SRCS
|
|
||||||
android_event.c
|
|
||||||
android_event.h
|
|
||||||
android_freerdp.c
|
|
||||||
android_freerdp.h
|
|
||||||
android_jni_utils.c
|
|
||||||
android_jni_utils.h
|
|
||||||
android_jni_callback.c
|
|
||||||
android_jni_callback.h)
|
|
||||||
|
|
||||||
if(WITH_CLIENT_CHANNELS)
|
|
||||||
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS}
|
|
||||||
android_cliprdr.c
|
|
||||||
android_cliprdr.h)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
|
|
||||||
|
|
||||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp freerdp-client)
|
|
||||||
|
|
||||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} dl)
|
|
||||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} jnigraphics)
|
|
||||||
|
|
||||||
#set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION})
|
|
||||||
|
|
||||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
|
||||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT AndroidTargets)
|
|
@ -53,7 +53,7 @@ buildscript {
|
|||||||
google()
|
google()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:7.0.4'
|
classpath 'com.android.tools.build:gradle:7.1.2'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,10 +4,32 @@ android {
|
|||||||
compileSdkVersion = rootProject.ext.compileApi
|
compileSdkVersion = rootProject.ext.compileApi
|
||||||
buildToolsVersion = rootProject.ext.toolsVersion
|
buildToolsVersion = rootProject.ext.toolsVersion
|
||||||
|
|
||||||
|
packagingOptions {
|
||||||
|
pickFirst 'lib/arm64-v8a/libfreerdp3.so'
|
||||||
|
pickFirst 'lib/armeabi-v7a/libfreerdp3.so'
|
||||||
|
pickFirst 'lib/x86/libfreerdp3.so'
|
||||||
|
pickFirst 'lib/x86_64/libfreerdp3.so'
|
||||||
|
|
||||||
|
pickFirst 'lib/arm64-v8a/libfreerdp-client3.so'
|
||||||
|
pickFirst 'lib/armeabi-v7a/libfreerdp-client3.so'
|
||||||
|
pickFirst 'lib/x86/libfreerdp-client3.so'
|
||||||
|
pickFirst 'lib/x86_64/libfreerdp-client3.so'
|
||||||
|
|
||||||
|
pickFirst 'lib/arm64-v8a/libwinpr3.so'
|
||||||
|
pickFirst 'lib/armeabi-v7a/libwinpr3.so'
|
||||||
|
pickFirst 'lib/x86/libwinpr3.so'
|
||||||
|
pickFirst 'lib/x86_64/libwinpr3.so'
|
||||||
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion rootProject.ext.minApi
|
minSdkVersion rootProject.ext.minApi
|
||||||
targetSdkVersion rootProject.ext.targetApi
|
targetSdkVersion rootProject.ext.targetApi
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
|
externalNativeBuild {
|
||||||
|
cmake {
|
||||||
|
arguments "-DWITH_CLIENT_CHANNELS=ON"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
@ -25,6 +47,12 @@ android {
|
|||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
ndkVersion '23.1.7779620'
|
ndkVersion '23.1.7779620'
|
||||||
|
externalNativeBuild {
|
||||||
|
cmake {
|
||||||
|
path file('src/main/cpp/CMakeLists.txt')
|
||||||
|
version '3.18.1'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -0,0 +1,80 @@
|
|||||||
|
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||||
|
# Android Client
|
||||||
|
#
|
||||||
|
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||||
|
# Copyright 2013 Bernhard Miklautz <bernhard.miklautz@thincast.com>
|
||||||
|
# Copyright 2022 Ely Ronnen <elyronnen@gmail.com>
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.4)
|
||||||
|
|
||||||
|
project("freerdp-android")
|
||||||
|
|
||||||
|
set(MODULE_NAME "freerdp-android")
|
||||||
|
set(MODULE_PREFIX "FREERDP_CLIENT_ANDROID")
|
||||||
|
|
||||||
|
set(FREERDP_IMPORT_DIR_RELATIVE ../jniLibs/${CMAKE_ANDROID_ARCH_ABI})
|
||||||
|
get_filename_component(FREERDP_IMPORT_DIR ${FREERDP_IMPORT_DIR_RELATIVE} ABSOLUTE)
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
${FREERDP_IMPORT_DIR}/include/freerdp3
|
||||||
|
${FREERDP_IMPORT_DIR}/include/winpr3
|
||||||
|
${FREERDP_IMPORT_DIR}/include/openssl
|
||||||
|
)
|
||||||
|
|
||||||
|
set(${MODULE_PREFIX}_SRCS
|
||||||
|
android_event.c
|
||||||
|
android_event.h
|
||||||
|
android_freerdp.c
|
||||||
|
android_freerdp.h
|
||||||
|
android_jni_utils.c
|
||||||
|
android_jni_utils.h
|
||||||
|
android_jni_callback.c
|
||||||
|
android_jni_callback.h)
|
||||||
|
|
||||||
|
if(WITH_CLIENT_CHANNELS)
|
||||||
|
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS}
|
||||||
|
android_cliprdr.c
|
||||||
|
android_cliprdr.h)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
|
||||||
|
|
||||||
|
add_library(freerdp3-lib SHARED IMPORTED)
|
||||||
|
set_property(TARGET freerdp3-lib PROPERTY IMPORTED_LOCATION ${FREERDP_IMPORT_DIR}/libfreerdp3.so)
|
||||||
|
|
||||||
|
add_library(freerdp-client3-lib SHARED IMPORTED)
|
||||||
|
set_property(TARGET freerdp-client3-lib PROPERTY IMPORTED_LOCATION ${FREERDP_IMPORT_DIR}/libfreerdp-client3.so)
|
||||||
|
|
||||||
|
add_library(winpr3-lib SHARED IMPORTED)
|
||||||
|
set_property(TARGET winpr3-lib PROPERTY IMPORTED_LOCATION ${FREERDP_IMPORT_DIR}/libwinpr3.so)
|
||||||
|
|
||||||
|
find_library(log-lib log)
|
||||||
|
find_library(dl-lib dl)
|
||||||
|
find_library(jnigraphics-lib jnigraphics)
|
||||||
|
|
||||||
|
# Specifies libraries CMake should link to your target library. You
|
||||||
|
# can link multiple libraries, such as libraries you define in this
|
||||||
|
# build script, prebuilt third-party libraries, or system libraries.
|
||||||
|
|
||||||
|
target_link_libraries(
|
||||||
|
${MODULE_NAME}
|
||||||
|
|
||||||
|
freerdp3-lib
|
||||||
|
freerdp-client3-lib
|
||||||
|
winpr3-lib
|
||||||
|
|
||||||
|
${log-lib}
|
||||||
|
${dl-lib}
|
||||||
|
${jnigraphics-lib} )
|
@ -571,7 +571,8 @@ static int RdpClientEntry(RDP_CLIENT_ENTRY_POINTS* pEntryPoints)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jlong JNICALL jni_freerdp_new(JNIEnv* env, jclass cls, jobject context)
|
JNIEXPORT jlong JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1new(JNIEnv* env, jclass cls, jobject context)
|
||||||
{
|
{
|
||||||
jclass contextClass;
|
jclass contextClass;
|
||||||
jclass fileClass;
|
jclass fileClass;
|
||||||
@ -663,7 +664,8 @@ static jlong JNICALL jni_freerdp_new(JNIEnv* env, jclass cls, jobject context)
|
|||||||
return (jlong)ctx->instance;
|
return (jlong)ctx->instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void JNICALL jni_freerdp_free(JNIEnv* env, jclass cls, jlong instance)
|
JNIEXPORT void JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1free(JNIEnv* env, jclass cls, jlong instance)
|
||||||
{
|
{
|
||||||
freerdp* inst = (freerdp*)instance;
|
freerdp* inst = (freerdp*)instance;
|
||||||
|
|
||||||
@ -675,7 +677,8 @@ static void JNICALL jni_freerdp_free(JNIEnv* env, jclass cls, jlong instance)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static jstring JNICALL jni_freerdp_get_last_error_string(JNIEnv* env, jclass cls, jlong instance)
|
JNIEXPORT jstring JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1get_1last_1error_1string(JNIEnv* env, jclass cls, jlong instance)
|
||||||
{
|
{
|
||||||
freerdp* inst = (freerdp*)instance;
|
freerdp* inst = (freerdp*)instance;
|
||||||
|
|
||||||
@ -686,7 +689,8 @@ static jstring JNICALL jni_freerdp_get_last_error_string(JNIEnv* env, jclass cls
|
|||||||
env, freerdp_get_last_error_string(freerdp_get_last_error(inst->context)));
|
env, freerdp_get_last_error_string(freerdp_get_last_error(inst->context)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_parse_arguments(JNIEnv* env, jclass cls, jlong instance,
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1parse_1arguments(JNIEnv* env, jclass cls, jlong instance,
|
||||||
jobjectArray arguments)
|
jobjectArray arguments)
|
||||||
{
|
{
|
||||||
freerdp* inst = (freerdp*)instance;
|
freerdp* inst = (freerdp*)instance;
|
||||||
@ -721,7 +725,8 @@ static jboolean JNICALL jni_freerdp_parse_arguments(JNIEnv* env, jclass cls, jlo
|
|||||||
return (status == 0) ? JNI_TRUE : JNI_FALSE;
|
return (status == 0) ? JNI_TRUE : JNI_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_connect(JNIEnv* env, jclass cls, jlong instance)
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1connect(JNIEnv* env, jclass cls, jlong instance)
|
||||||
{
|
{
|
||||||
freerdp* inst = (freerdp*)instance;
|
freerdp* inst = (freerdp*)instance;
|
||||||
androidContext* ctx;
|
androidContext* ctx;
|
||||||
@ -743,7 +748,8 @@ static jboolean JNICALL jni_freerdp_connect(JNIEnv* env, jclass cls, jlong insta
|
|||||||
return JNI_TRUE;
|
return JNI_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_disconnect(JNIEnv* env, jclass cls, jlong instance)
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1disconnect(JNIEnv* env, jclass cls, jlong instance)
|
||||||
{
|
{
|
||||||
freerdp* inst = (freerdp*)instance;
|
freerdp* inst = (freerdp*)instance;
|
||||||
androidContext* ctx;
|
androidContext* ctx;
|
||||||
@ -774,7 +780,8 @@ static jboolean JNICALL jni_freerdp_disconnect(JNIEnv* env, jclass cls, jlong in
|
|||||||
return JNI_TRUE;
|
return JNI_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_update_graphics(JNIEnv* env, jclass cls, jlong instance,
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1update_1graphics(JNIEnv* env, jclass cls, jlong instance,
|
||||||
jobject bitmap, jint x, jint y, jint width,
|
jobject bitmap, jint x, jint y, jint width,
|
||||||
jint height)
|
jint height)
|
||||||
{
|
{
|
||||||
@ -843,7 +850,8 @@ static jboolean JNICALL jni_freerdp_update_graphics(JNIEnv* env, jclass cls, jlo
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_send_key_event(JNIEnv* env, jclass cls, jlong instance,
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1send_1key_1event(JNIEnv* env, jclass cls, jlong instance,
|
||||||
jint keycode, jboolean down)
|
jint keycode, jboolean down)
|
||||||
{
|
{
|
||||||
DWORD scancode;
|
DWORD scancode;
|
||||||
@ -867,7 +875,8 @@ static jboolean JNICALL jni_freerdp_send_key_event(JNIEnv* env, jclass cls, jlon
|
|||||||
return JNI_TRUE;
|
return JNI_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_send_unicodekey_event(JNIEnv* env, jclass cls, jlong instance,
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1send_1unicodekey_1event(JNIEnv* env, jclass cls, jlong instance,
|
||||||
jint keycode, jboolean down)
|
jint keycode, jboolean down)
|
||||||
{
|
{
|
||||||
ANDROID_EVENT* event;
|
ANDROID_EVENT* event;
|
||||||
@ -888,7 +897,8 @@ static jboolean JNICALL jni_freerdp_send_unicodekey_event(JNIEnv* env, jclass cl
|
|||||||
return JNI_TRUE;
|
return JNI_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_send_cursor_event(JNIEnv* env, jclass cls, jlong instance,
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1send_1cursor_1event(JNIEnv* env, jclass cls, jlong instance,
|
||||||
jint x, jint y, jint flags)
|
jint x, jint y, jint flags)
|
||||||
{
|
{
|
||||||
ANDROID_EVENT* event;
|
ANDROID_EVENT* event;
|
||||||
@ -908,7 +918,8 @@ static jboolean JNICALL jni_freerdp_send_cursor_event(JNIEnv* env, jclass cls, j
|
|||||||
return JNI_TRUE;
|
return JNI_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_send_clipboard_data(JNIEnv* env, jclass cls, jlong instance,
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1send_1clipboard_1data(JNIEnv* env, jclass cls, jlong instance,
|
||||||
jstring jdata)
|
jstring jdata)
|
||||||
{
|
{
|
||||||
ANDROID_EVENT* event;
|
ANDROID_EVENT* event;
|
||||||
@ -937,12 +948,14 @@ out_fail:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jstring JNICALL jni_freerdp_get_jni_version(JNIEnv* env, jclass cls)
|
JNIEXPORT jstring JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1get_1jni_1version(JNIEnv* env, jclass cls)
|
||||||
{
|
{
|
||||||
return (*env)->NewStringUTF(env, FREERDP_JNI_VERSION);
|
return (*env)->NewStringUTF(env, FREERDP_JNI_VERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean JNICALL jni_freerdp_has_h264(JNIEnv* env, jclass cls)
|
JNIEXPORT jboolean JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1has_1h264(JNIEnv* env, jclass cls)
|
||||||
{
|
{
|
||||||
H264_CONTEXT* ctx = h264_context_new(FALSE);
|
H264_CONTEXT* ctx = h264_context_new(FALSE);
|
||||||
if (!ctx)
|
if (!ctx)
|
||||||
@ -951,42 +964,25 @@ static jboolean JNICALL jni_freerdp_has_h264(JNIEnv* env, jclass cls)
|
|||||||
return JNI_TRUE;
|
return JNI_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static jstring JNICALL jni_freerdp_get_version(JNIEnv* env, jclass cls)
|
JNIEXPORT jstring JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1get_1version(JNIEnv* env, jclass cls)
|
||||||
{
|
{
|
||||||
return (*env)->NewStringUTF(env, freerdp_get_version_string());
|
return (*env)->NewStringUTF(env, freerdp_get_version_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
static jstring JNICALL jni_freerdp_get_build_revision(JNIEnv* env, jclass cls)
|
JNIEXPORT jstring JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1get_1build_1revision(JNIEnv* env, jclass cls)
|
||||||
{
|
{
|
||||||
return (*env)->NewStringUTF(env, freerdp_get_build_revision());
|
return (*env)->NewStringUTF(env, freerdp_get_build_revision());
|
||||||
}
|
}
|
||||||
|
|
||||||
static jstring JNICALL jni_freerdp_get_build_config(JNIEnv* env, jclass cls)
|
JNIEXPORT jstring JNICALL
|
||||||
|
Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp_1get_1build_1config(JNIEnv *env,
|
||||||
|
jclass cls)
|
||||||
{
|
{
|
||||||
return (*env)->NewStringUTF(env, freerdp_get_build_config());
|
return (*env)->NewStringUTF(env, freerdp_get_build_config());
|
||||||
}
|
}
|
||||||
|
|
||||||
static JNINativeMethod methods[] = {
|
|
||||||
{ "freerdp_get_jni_version", "()Ljava/lang/String;", &jni_freerdp_get_jni_version },
|
|
||||||
{ "freerdp_get_version", "()Ljava/lang/String;", &jni_freerdp_get_version },
|
|
||||||
{ "freerdp_get_build_revision", "()Ljava/lang/String;", &jni_freerdp_get_build_revision },
|
|
||||||
{ "freerdp_get_build_config", "()Ljava/lang/String;", &jni_freerdp_get_build_config },
|
|
||||||
{ "freerdp_get_last_error_string", "(J)Ljava/lang/String;",
|
|
||||||
&jni_freerdp_get_last_error_string },
|
|
||||||
{ "freerdp_new", "(Landroid/content/Context;)J", &jni_freerdp_new },
|
|
||||||
{ "freerdp_free", "(J)V", &jni_freerdp_free },
|
|
||||||
{ "freerdp_parse_arguments", "(J[Ljava/lang/String;)Z", &jni_freerdp_parse_arguments },
|
|
||||||
{ "freerdp_connect", "(J)Z", &jni_freerdp_connect },
|
|
||||||
{ "freerdp_disconnect", "(J)Z", &jni_freerdp_disconnect },
|
|
||||||
{ "freerdp_update_graphics", "(JLandroid/graphics/Bitmap;IIII)Z",
|
|
||||||
&jni_freerdp_update_graphics },
|
|
||||||
{ "freerdp_send_cursor_event", "(JIII)Z", &jni_freerdp_send_cursor_event },
|
|
||||||
{ "freerdp_send_key_event", "(JIZ)Z", &jni_freerdp_send_key_event },
|
|
||||||
{ "freerdp_send_unicodekey_event", "(JIZ)Z", &jni_freerdp_send_unicodekey_event },
|
|
||||||
{ "freerdp_send_clipboard_data", "(JLjava/lang/String;)Z", &jni_freerdp_send_clipboard_data },
|
|
||||||
{ "freerdp_has_h264", "()Z", &jni_freerdp_has_h264 }
|
|
||||||
};
|
|
||||||
|
|
||||||
static jclass gJavaActivityClass = NULL;
|
static jclass gJavaActivityClass = NULL;
|
||||||
|
|
||||||
jint JNI_OnLoad(JavaVM* vm, void* reserved)
|
jint JNI_OnLoad(JavaVM* vm, void* reserved)
|
||||||
@ -1017,8 +1013,6 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register methods with env->RegisterNatives.
|
|
||||||
(*env)->RegisterNatives(env, activityClass, methods, sizeof(methods) / sizeof(methods[0]));
|
|
||||||
/* create global reference for class */
|
/* create global reference for class */
|
||||||
gJavaActivityClass = (*env)->NewGlobalRef(env, activityClass);
|
gJavaActivityClass = (*env)->NewGlobalRef(env, activityClass);
|
||||||
g_JavaVm = vm;
|
g_JavaVm = vm;
|
||||||
@ -1036,8 +1030,6 @@ void JNICALL JNI_OnUnload(JavaVM* vm, void* reserved)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
(*env)->UnregisterNatives(env, gJavaActivityClass);
|
|
||||||
|
|
||||||
if (gJavaActivityClass)
|
if (gJavaActivityClass)
|
||||||
(*env)->DeleteGlobalRef(env, gJavaActivityClass);
|
(*env)->DeleteGlobalRef(env, gJavaActivityClass);
|
||||||
}
|
}
|
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
|
||||||
|
@ -51,8 +51,7 @@ if(FREERDP_VENDOR AND WITH_CLIENT)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
message(STATUS "Adding Android client")
|
message(STATUS "Android client module is built with Android Studio project")
|
||||||
add_subdirectory(Android)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user