Browse Source

Merge pull request 'JNI-177' (#18) from JNI-177 into Release_2.1

Reviewed-on: https://gitea.pep.foundation/pEp.foundation/pEpJNIAdapter/pulls/18
JNI-178 Release_2.1.42
Volker Birk 3 years ago
parent
commit
2bfc41510a
  1. 10
      android/build.gradle
  2. 9
      android/external/Makefile.conf
  3. 25
      android/external/arm64-v8a/Makefile
  4. 21
      android/external/arm64-v8a/generate-standalone-ndk-toolchain.sh
  5. 24
      android/external/armeabi-v7a/Makefile
  6. 21
      android/external/armeabi-v7a/generate-standalone-ndk-toolchain.sh
  7. 17
      android/external/downloads/Makefile
  8. 25
      android/external/x86/Makefile
  9. 21
      android/external/x86/generate-standalone-ndk-toolchain.sh
  10. 21
      android/external/x86_64/Makefile
  11. 21
      android/external/x86_64/generate-standalone-ndk-toolchain.sh
  12. 2
      android/src/foundation/pEp/jniadapter/AndroidHelper.java

10
android/build.gradle

@ -10,17 +10,17 @@ def pEpEngineDB = new File(new File(pEpEngineSrc), 'db')
buildscript { buildscript {
repositories { repositories {
google() google()
jcenter() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.1.3' classpath 'com.android.tools.build:gradle:4.2.2'
} }
} }
allprojects { allprojects {
repositories { repositories {
google() google()
jcenter() mavenCentral()
} }
} }
@ -30,10 +30,10 @@ android {
compileSdkVersion 30 compileSdkVersion 30
defaultConfig { defaultConfig {
minSdkVersion 19 minSdkVersion 21
targetSdkVersion 30 targetSdkVersion 30
versionCode 7 versionCode 7
versionName "2.1.29" versionName "2.1.42"
externalNativeBuild { externalNativeBuild {
ndkBuild { ndkBuild {

9
android/external/Makefile.conf

@ -2,6 +2,7 @@
### Android NDK Common conf ### Android NDK Common conf
NDK_TOOLCHAIN_COMPILER ?= clang NDK_TOOLCHAIN_COMPILER ?= clang
ANDROID_API ?= 21
### Select GNU SED on MacOS. ### Select GNU SED on MacOS.
@ -9,8 +10,10 @@ NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
ifeq ($(NDK_UNAME),darwin) ifeq ($(NDK_UNAME),darwin)
SED=gsed SED=gsed
TOOLCHAIN_ARCH=darwin-x86_64
else else
SED=sed SED=sed
TOOLCHAIN_ARCH=linux-x86_64
endif endif
### Sequoia deps versions ### Sequoia deps versions
@ -19,7 +22,7 @@ GMP_VERSION=6.2.1
NETTLE_VERSION=3.7.3 NETTLE_VERSION=3.7.3
### Git deps repos ### Git deps repos
EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?0123f34ec4ef7711b3670b744b3ae7e97178afe1 EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?507ab94fc9609432ef2d4c62770139482f1b5084
EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?openpgp/v1.3.1 EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/sequoia-pgp/sequoia.git?openpgp/v1.3.1
### Common variables ### Common variables
@ -38,3 +41,7 @@ EXTERNAL_SRCS_CLEAN += gmp-clean
EXTERNAL_SRCS_CLEAN += nettle-clean EXTERNAL_SRCS_CLEAN += nettle-clean
EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean
### Other variables
ANDROID_ETPAN_BUILD_VERSION=2

25
android/external/arm64-v8a/Makefile

@ -14,18 +14,10 @@ include ../Makefile.conf
# Build parameters # Build parameters
APP_ABI ?= arm64-v8a APP_ABI ?= arm64-v8a
ANDROID_API ?= 21
all: build all: build
build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build build: showsetup uuid-install sequoia-ffi-install libetpan-build
#------------------------------------------------------------------------------#
# Generate standalone toolchain
generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang
ndk-standalone-toolchain/bin/clang:
bash generate-standalone-ndk-toolchain.sh
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Manage paths for PREFIX, DESTDIR, LOCAL and PATH # Manage paths for PREFIX, DESTDIR, LOCAL and PATH
@ -48,14 +40,13 @@ NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_COMPILER)
TARGET_ARCH_ABI = $(APP_ABI) TARGET_ARCH_ABI = $(APP_ABI)
include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk
ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH)
LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld
AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar
AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++
CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++
RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib
STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip
@ -131,9 +122,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz
touch $@ touch $@
libetpan/Makefile: libetpan.src.stamp | libiconv-install libetpan/Makefile: libetpan.src.stamp | libiconv-install
cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI)
cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/
cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/
touch $@ touch $@
libetpan-build: libetpan/Makefile libetpan-build: libetpan/Makefile

21
android/external/arm64-v8a/generate-standalone-ndk-toolchain.sh

@ -1,21 +0,0 @@
#!/bin/bash
usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android.
where:
-h Show this help text
--force Force generating the toolchain"
if [ "$1" == "-h" ]; then
echo "$usage"
exit 0
fi
if [ -z "$ANDROID_NDK" ]; then
echo "Please define \$ANDROID_NDK"
exit 1
fi
$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch arm64 --api 21 --install-dir=ndk-standalone-toolchain
exit 0

24
android/external/armeabi-v7a/Makefile

@ -14,19 +14,12 @@ include ../Makefile.conf
# Build parameters # Build parameters
APP_ABI ?= armeabi-v7a APP_ABI ?= armeabi-v7a
ANDROID_API ?= 18
all: build all: build
#assets #assets
build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build build: showsetup uuid-install sequoia-ffi-install libetpan-build
#------------------------------------------------------------------------------#
# Generate standalone toolchain
generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang
ndk-standalone-toolchain/bin/clang:
bash generate-standalone-ndk-toolchain.sh
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Manage paths for PREFIX, DESTDIR, LOCAL and PATH # Manage paths for PREFIX, DESTDIR, LOCAL and PATH
@ -43,19 +36,20 @@ PATH := ${PATH}:$(NDK_TOOLCHAIN)/bin:$(LOCAL)/bin
NDK_SYSROOT=$(ANDROID_NDK_HOME)/sysroot NDK_SYSROOT=$(ANDROID_NDK_HOME)/sysroot
HOST = arm-linux-androideabi HOST = arm-linux-androideabi
HOST_V7 = armv7a-linux-androideabi
NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_COMPILER) NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_COMPILER)
# include Android's build flags # include Android's build flags
TARGET_ARCH_ABI = $(APP_ABI) TARGET_ARCH_ABI = $(APP_ABI)
include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk
ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH)
LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld
AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar
AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang CC := $(ANDROID_NDK_HOME)/bin/$(HOST_V7)$(ANDROID_API)-clang
CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++ CXX := $(ANDROID_NDK_HOME)/bin/$(HOST_V7)$(ANDROID_API)-clang++
RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib
STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip
@ -131,9 +125,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz
touch $@ touch $@
libetpan/Makefile: libetpan.src.stamp | libiconv-install libetpan/Makefile: libetpan.src.stamp | libiconv-install
cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI)
cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/
cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/
touch $@ touch $@
libetpan-build: libetpan/Makefile libetpan-build: libetpan/Makefile

21
android/external/armeabi-v7a/generate-standalone-ndk-toolchain.sh

@ -1,21 +0,0 @@
#!/bin/bash
usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android.
where:
-h Show this help text
--force Force generating the toolchain"
if [ "$1" == "-h" ]; then
echo "$usage"
exit 0
fi
if [ -z "$ANDROID_NDK" ]; then
echo "Please define \$ANDROID_NDK"
exit 1
fi
$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch arm --api 18 --install-dir=ndk-standalone-toolchain
exit 0

17
android/external/downloads/Makefile

@ -15,22 +15,9 @@ include ../Makefile.conf
all: downloads.stamp all: downloads.stamp
downloads.stamp: download-iconv download-uuid download-sequoia-deps download-etpan download-sequoia \ downloads.stamp: download-iconv download-uuid download-sequoia-deps download-etpan download-sequoia
generate-ndk-arm generate-ndk-arm64 generate-ndk-x86 generate-ndk-x86_64
touch $@ touch $@
generate-ndk-arm64:
cd ../arm64-v8a && bash generate-standalone-ndk-toolchain.sh
generate-ndk-arm:
cd ../armeabi-v7a && bash generate-standalone-ndk-toolchain.sh
generate-ndk-x86:
cd ../x86 && bash generate-standalone-ndk-toolchain.sh
generate-ndk-x86_64:
cd ../x86_64 && bash generate-standalone-ndk-toolchain.sh
download-iconv: libiconv-1.15.tar.gz download-iconv: libiconv-1.15.tar.gz
download-uuid: ossp-uuid_1.6.2.orig.tar.gz download-uuid: ossp-uuid_1.6.2.orig.tar.gz
@ -118,4 +105,4 @@ clean:
.PHONY: all clean download-iconv \ .PHONY: all clean download-iconv \
download-uuid download-etpan \ download-uuid download-etpan \
download-sequoia-deps download-sequoia download-sequoia-deps download-sequoia

25
android/external/x86/Makefile

@ -14,18 +14,10 @@ include ../Makefile.conf
# Build parameters # Build parameters
APP_ABI ?= x86 APP_ABI ?= x86
ANDROID_API ?= 18
all: build all: build
build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build build: showsetup uuid-install sequoia-ffi-install libetpan-build
#------------------------------------------------------------------------------#
# Generate standalone toolchain
generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang
ndk-standalone-toolchain/bin/clang:
bash generate-standalone-ndk-toolchain.sh
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Manage paths for PREFIX, DESTDIR, LOCAL and PATH # Manage paths for PREFIX, DESTDIR, LOCAL and PATH
@ -48,14 +40,13 @@ NDK_TOOLCHAIN = $(APP_ABI)-$(NDK_TOOLCHAIN_COMPILER)
TARGET_ARCH_ABI = $(APP_ABI) TARGET_ARCH_ABI = $(APP_ABI)
include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk
ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH)
LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld
AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar
AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang AS := $(ANDROID_NDK_HOME)/bin/$(HOST)-as
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++
CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++
RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib
STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip STRIP := $(ANDROID_NDK_HOME)/bin/$(HOST)-strip
@ -131,9 +122,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz
touch $@ touch $@
libetpan/Makefile: libetpan.src.stamp | libiconv-install libetpan/Makefile: libetpan.src.stamp | libiconv-install
cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI)
cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/
cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/
touch $@ touch $@
libetpan-build: libetpan/Makefile libetpan-build: libetpan/Makefile

21
android/external/x86/generate-standalone-ndk-toolchain.sh

@ -1,21 +0,0 @@
#!/bin/bash
usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android.
where:
-h Show this help text
--force Force generating the toolchain"
if [ "$1" == "-h" ]; then
echo "$usage"
exit 0
fi
if [ -z "$ANDROID_NDK" ]; then
echo "Please define \$ANDROID_NDK"
exit 1
fi
$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch x86 --api 18 --install-dir=ndk-standalone-toolchain
exit 0

21
android/external/x86_64/Makefile

@ -14,18 +14,10 @@ include ../Makefile.conf
# Build parameters # Build parameters
APP_ABI ?= x86_64 APP_ABI ?= x86_64
ANDROID_API ?= 21
all: build all: build
build: generate-ndk-toolchain showsetup uuid-install sequoia-ffi-install libetpan-build build:showsetup uuid-install sequoia-ffi-install libetpan-build
#------------------------------------------------------------------------------#
# Generate standalone toolchain
generate-ndk-toolchain: ndk-standalone-toolchain/bin/clang
ndk-standalone-toolchain/bin/clang:
bash generate-standalone-ndk-toolchain.sh
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Manage paths for PREFIX, DESTDIR, LOCAL and PATH # Manage paths for PREFIX, DESTDIR, LOCAL and PATH
@ -48,12 +40,11 @@ NDK_TOOLCHAIN = $(APP_ABI)-$(NDK_TOOLCHAIN_COMPILER)
TARGET_ARCH_ABI = $(APP_ABI) TARGET_ARCH_ABI = $(APP_ABI)
include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk
ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-standalone-toolchain ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH)
LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld
AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar
AS := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang AS := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-as
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang CC := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang
CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++ CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)$(ANDROID_API)-clang++
RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib
@ -131,9 +122,9 @@ libetpan.src.stamp: ../downloads/libetpan.tar.gz
touch $@ touch $@
libetpan/Makefile: libetpan.src.stamp | libiconv-install libetpan/Makefile: libetpan.src.stamp | libiconv-install
cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh $(APP_ABI)
cp -r libetpan/build-android/libetpan-android-1/$(APP_ABI)/lib/* $(LOCAL)/lib/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/$(APP_ABI)/lib/* $(LOCAL)/lib/
cp -r libetpan/build-android/libetpan-android-1/include/* $(LOCAL)/include/ cp -r libetpan/build-android/libetpan-android-$(ANDROID_ETPAN_BUILD_VERSION)/include/* $(LOCAL)/include/
touch $@ touch $@
libetpan-build: libetpan/Makefile libetpan-build: libetpan/Makefile

21
android/external/x86_64/generate-standalone-ndk-toolchain.sh

@ -1,21 +0,0 @@
#!/bin/bash
usage="Usage: $(basename "$0") [-h][--force] -- Script to generate android standalone toolchain to build pEp for Android.
where:
-h Show this help text
--force Force generating the toolchain"
if [ "$1" == "-h" ]; then
echo "$usage"
exit 0
fi
if [ -z "$ANDROID_NDK" ]; then
echo "Please define \$ANDROID_NDK"
exit 1
fi
$ANDROID_NDK/build/tools/make_standalone_toolchain.py $1 --arch x86_64 --api 21 --install-dir=ndk-standalone-toolchain
exit 0

2
android/src/foundation/pEp/jniadapter/AndroidHelper.java

@ -31,7 +31,7 @@ public class AndroidHelper {
// TODO : Increment when needed. // TODO : Increment when needed.
// TODO : Check if this version tracking is really needed and Automatize it // TODO : Check if this version tracking is really needed and Automatize it
public static String ENGINE_VERSION_CODE = "Release_2.1.37"; public static String ENGINE_VERSION_CODE = "Release_2.1.56";
private static File shareDir; private static File shareDir;

Loading…
Cancel
Save