diff --git a/.gitignore b/.gitignore index c71e2e16..f6a88081 100644 --- a/.gitignore +++ b/.gitignore @@ -65,7 +65,7 @@ doc/doxygen_* ## Build files CMakeFiles Makefile -!build/android/Makefile +!build/android/deprecated/Makefile cmake_install.cmake CMakeCache.txt CPackConfig.cmake @@ -76,7 +76,6 @@ src/cmake_config.h src/cmake_config_githash.h src/lua/build/ locale/ -!games/*/*/*/locale .directory .gradle/ *.cbp @@ -92,16 +91,12 @@ cmake-build-debug/ cmake-build-release/ ## Android build files -build/android/src/main/assets build/android/build -build/android/deps -build/android/libs -build/android/jni/lib -build/android/jni/src -build/android/src/main/jniLibs -build/android/obj +build/android/release build/android/local.properties build/android/.gradle +build/android/app/src/main/assets +build/android/app/build build/android/native/build build/android/native/deps timestamp @@ -111,15 +106,13 @@ timestamp ## iOS build files build/iOS/MultiCraft/MultiCraft.xcodeproj/xcuserdata build/iOS/MultiCraft/MultiCraft.xcodeproj/project.xcworkspace -# build/iOS/MultiCraft/MultiCraft/Assets.xcassets/AppIcon.appiconset/*.png build/iOS/MultiCraft.xcworkspace build/iOS/Pods build/iOS/Podfile.lock build/iOS/deps/* !build/iOS/deps/*.sh -build/iOS/assets.zip -build/iOS/worlds.zip +build/iOS/*.zip build/iOS/Ads ## WindowsApp files -build/WindowsApp/multicraft-windows.zip +build/WindowsApp/*.zip diff --git a/build/android/Start.sh b/build/android/Start.sh index e2e5c999..7e7557cf 100755 --- a/build/android/Start.sh +++ b/build/android/Start.sh @@ -5,7 +5,7 @@ if [ ! -d gradle ]; then exit 1 fi -FOLDER=$(pwd)/src/main/assets +FOLDER=$(pwd)/app/src/main/assets DEST=$(mktemp -d) echo @@ -16,7 +16,7 @@ echo "=> Getting precompiled dependencies:" if [ ! -d native/deps ] then echo - git clone https://github.com/MultiCraft/deps native/deps + git clone --depth 1 https://github.com/MultiCraft/deps native/deps echo echo "* Done!" else diff --git a/build/android/app/build.gradle b/build/android/app/build.gradle new file mode 100644 index 00000000..f3238ea3 --- /dev/null +++ b/build/android/app/build.gradle @@ -0,0 +1,67 @@ +apply plugin: 'com.android.application' +android { + compileSdkVersion 29 + buildToolsVersion "29.0.1" + + defaultConfig { + applicationId 'com.multicraft.game' + minSdkVersion 16 + targetSdkVersion 29 + versionCode 1 + } + Properties props = new Properties() + props.load(new FileInputStream(file('../local.properties'))) + + if (props.getProperty('keystore') != null) { + signingConfigs { + release { + storeFile file(props['keystore']) + storePassword props['keystore.password'] + keyAlias props['key'] + keyPassword props['key.password'] + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + signingConfig signingConfigs.release + } + } + } + +// for multiple APKs + splits { + abi { + enable true + reset() + include 'armeabi-v7a', 'arm64-v8a'//, 'x86' + } + } +} + +// Map for the version code that gives each ABI a value. +/*import com.android.build.OutputFile + +def abiCodes = ['armeabi-v7a': 0, 'arm64-v8a': 1] //['armeabi-v7a': 0, 'arm64-v8a': 1, 'x86': 2*] +android.applicationVariants.all { variant -> + variant.outputs.each { + output -> + def abiName = output.getFilter(OutputFile.ABI) + output.versionCodeOverride = abiCodes.get(abiName, 0) + variant.versionCode + } +}*/ + +dependencies { + // MultiCraft Native + implementation project(':native') + // Analytics libraries + implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'com.google.firebase:firebase-core:17.0.1' + implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1' + // Third-party libraries + implementation 'com.itlgl:iosdialog:1.0.0' + implementation 'gun0912.ted:tedpermission:2.2.2' + implementation group: 'commons-io', name: 'commons-io', version: '2.4' +} diff --git a/build/android/src/main/AndroidManifest.xml b/build/android/app/src/main/AndroidManifest.xml similarity index 99% rename from build/android/src/main/AndroidManifest.xml rename to build/android/app/src/main/AndroidManifest.xml index f4d7ac3c..111c8f18 100644 --- a/build/android/src/main/AndroidManifest.xml +++ b/build/android/app/src/main/AndroidManifest.xml @@ -8,8 +8,8 @@ - + diff --git a/build/android/src/main/java/com/multicraft/game/AlertDialogHelper.java b/build/android/app/src/main/java/com/multicraft/game/AlertDialogHelper.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/AlertDialogHelper.java rename to build/android/app/src/main/java/com/multicraft/game/AlertDialogHelper.java diff --git a/build/android/src/main/java/com/multicraft/game/CallBackListener.java b/build/android/app/src/main/java/com/multicraft/game/CallBackListener.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/CallBackListener.java rename to build/android/app/src/main/java/com/multicraft/game/CallBackListener.java diff --git a/build/android/src/main/java/com/multicraft/game/CheckConnectionTask.java b/build/android/app/src/main/java/com/multicraft/game/CheckConnectionTask.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/CheckConnectionTask.java rename to build/android/app/src/main/java/com/multicraft/game/CheckConnectionTask.java diff --git a/build/android/src/main/java/com/multicraft/game/CopyZipTask.java b/build/android/app/src/main/java/com/multicraft/game/CopyZipTask.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/CopyZipTask.java rename to build/android/app/src/main/java/com/multicraft/game/CopyZipTask.java diff --git a/build/android/src/main/java/com/multicraft/game/DeleteTask.java b/build/android/app/src/main/java/com/multicraft/game/DeleteTask.java similarity index 92% rename from build/android/src/main/java/com/multicraft/game/DeleteTask.java rename to build/android/app/src/main/java/com/multicraft/game/DeleteTask.java index eca4c899..ade054a6 100644 --- a/build/android/src/main/java/com/multicraft/game/DeleteTask.java +++ b/build/android/app/src/main/java/com/multicraft/game/DeleteTask.java @@ -41,7 +41,9 @@ public class DeleteTask extends AsyncTask { File file = new File(path); if (file.exists()) { try { + if (file.isDirectory()) FileUtils.deleteDirectory(file); + else FileUtils.deleteQuietly(file); } catch (IOException e) { Crashlytics.logException(e); } diff --git a/build/android/src/main/java/com/multicraft/game/DialogsCallback.java b/build/android/app/src/main/java/com/multicraft/game/DialogsCallback.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/DialogsCallback.java rename to build/android/app/src/main/java/com/multicraft/game/DialogsCallback.java diff --git a/build/android/src/main/java/com/multicraft/game/GameActivity.java b/build/android/app/src/main/java/com/multicraft/game/GameActivity.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/GameActivity.java rename to build/android/app/src/main/java/com/multicraft/game/GameActivity.java diff --git a/build/android/src/main/java/com/multicraft/game/InputDialogActivity.java b/build/android/app/src/main/java/com/multicraft/game/InputDialogActivity.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/InputDialogActivity.java rename to build/android/app/src/main/java/com/multicraft/game/InputDialogActivity.java diff --git a/build/android/src/main/java/com/multicraft/game/MainActivity.java b/build/android/app/src/main/java/com/multicraft/game/MainActivity.java similarity index 99% rename from build/android/src/main/java/com/multicraft/game/MainActivity.java rename to build/android/app/src/main/java/com/multicraft/game/MainActivity.java index 5ded374e..5671d85f 100644 --- a/build/android/src/main/java/com/multicraft/game/MainActivity.java +++ b/build/android/app/src/main/java/com/multicraft/game/MainActivity.java @@ -21,7 +21,6 @@ import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.provider.Settings; -import androidx.core.content.ContextCompat; import android.text.method.LinkMovementMethod; import android.view.ContextThemeWrapper; import android.view.Display; @@ -34,6 +33,8 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; +import androidx.core.content.ContextCompat; + import com.crashlytics.android.Crashlytics; import com.gun0912.tedpermission.PermissionListener; import com.gun0912.tedpermission.TedPermission; @@ -61,7 +62,7 @@ public class MainActivity extends Activity implements WVersionManager.ActivityLi private final static String WORLDS = EXTERNAL_STORAGE + "/worlds.zip"; private final static String GAMES = EXTERNAL_STORAGE + "/games.zip"; private final static String NOMEDIA = ".nomedia"; - private static final String UPDATE_LINK = "https://raw.githubusercontent.com/ubulem/coronahtml5/master/ver.txt"; + private static final String UPDATE_LINK = "https://raw.githubusercontent.com/MoNTE48/MultiCraft-links/master/Android.json"; private static final String[] EU_COUNTRIES = new String[]{ "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", @@ -485,7 +486,7 @@ public class MainActivity extends Activity implements WVersionManager.ActivityLi if (isAll) { dt.execute(unzipLocation); } else { - dt.execute(unzipLocation + "builtin", unzipLocation + "games", unzipLocation + "textures"/*, unzipLocation + "debug.txt"*/); + dt.execute(unzipLocation + "builtin", unzipLocation + "games", unzipLocation + "debug.txt"); } } @@ -562,7 +563,7 @@ public class MainActivity extends Activity implements WVersionManager.ActivityLi tv.setMovementMethod(LinkMovementMethod.getInstance()); } - void showConnectionDialog() { + private void showConnectionDialog() { AlertDialogHelper dialogHelper = new AlertDialogHelper(this); dialogHelper.setListener(this); dialogHelper.setMessage(getString(R.string.conn_message)); diff --git a/build/android/src/main/java/com/multicraft/game/PreferencesHelper.java b/build/android/app/src/main/java/com/multicraft/game/PreferencesHelper.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/PreferencesHelper.java rename to build/android/app/src/main/java/com/multicraft/game/PreferencesHelper.java diff --git a/build/android/src/main/java/com/multicraft/game/RateMe.java b/build/android/app/src/main/java/com/multicraft/game/RateMe.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/RateMe.java rename to build/android/app/src/main/java/com/multicraft/game/RateMe.java diff --git a/build/android/src/main/java/com/multicraft/game/Transliteration.java b/build/android/app/src/main/java/com/multicraft/game/Transliteration.java similarity index 98% rename from build/android/src/main/java/com/multicraft/game/Transliteration.java rename to build/android/app/src/main/java/com/multicraft/game/Transliteration.java index a1173c73..927b9874 100644 --- a/build/android/src/main/java/com/multicraft/game/Transliteration.java +++ b/build/android/app/src/main/java/com/multicraft/game/Transliteration.java @@ -56,7 +56,7 @@ class Transliteration { * Не русские символы останутся прежними. */ static String toLatin(String text) { - char[] charBuffer = text.toCharArray(); + char[] charBuffer = text.toCharArray(); StringBuilder sb = new StringBuilder(text.length()); for (char symbol : charBuffer) { int i = symbol - START_CHAR; diff --git a/build/android/src/main/java/com/multicraft/game/UnzipService.java b/build/android/app/src/main/java/com/multicraft/game/UnzipService.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/UnzipService.java rename to build/android/app/src/main/java/com/multicraft/game/UnzipService.java diff --git a/build/android/src/main/java/com/multicraft/game/WVersionManager.java b/build/android/app/src/main/java/com/multicraft/game/WVersionManager.java similarity index 100% rename from build/android/src/main/java/com/multicraft/game/WVersionManager.java rename to build/android/app/src/main/java/com/multicraft/game/WVersionManager.java diff --git a/build/android/src/main/res/drawable/background.png b/build/android/app/src/main/res/drawable/background.png similarity index 100% rename from build/android/src/main/res/drawable/background.png rename to build/android/app/src/main/res/drawable/background.png diff --git a/build/android/src/main/res/drawable/bg.xml b/build/android/app/src/main/res/drawable/bg.xml similarity index 100% rename from build/android/src/main/res/drawable/bg.xml rename to build/android/app/src/main/res/drawable/bg.xml diff --git a/build/android/src/main/res/drawable/custom_progress_bar.xml b/build/android/app/src/main/res/drawable/custom_progress_bar.xml similarity index 100% rename from build/android/src/main/res/drawable/custom_progress_bar.xml rename to build/android/app/src/main/res/drawable/custom_progress_bar.xml diff --git a/build/android/app/src/main/res/drawable/ic_launcher_background.xml b/build/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..2408e30d --- /dev/null +++ b/build/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/android/src/main/res/drawable/logo.png b/build/android/app/src/main/res/drawable/logo.png similarity index 100% rename from build/android/src/main/res/drawable/logo.png rename to build/android/app/src/main/res/drawable/logo.png diff --git a/build/android/src/main/res/drawable-xhdpi/update.png b/build/android/app/src/main/res/drawable/update.png similarity index 100% rename from build/android/src/main/res/drawable-xhdpi/update.png rename to build/android/app/src/main/res/drawable/update.png diff --git a/build/android/src/main/res/layout/activity_main.xml b/build/android/app/src/main/res/layout/activity_main.xml similarity index 100% rename from build/android/src/main/res/layout/activity_main.xml rename to build/android/app/src/main/res/layout/activity_main.xml diff --git a/build/android/src/main/res/layout/gdpr_dialog.xml b/build/android/app/src/main/res/layout/gdpr_dialog.xml similarity index 100% rename from build/android/src/main/res/layout/gdpr_dialog.xml rename to build/android/app/src/main/res/layout/gdpr_dialog.xml diff --git a/build/android/src/main/res/layout/input_dialog.xml b/build/android/app/src/main/res/layout/input_dialog.xml similarity index 100% rename from build/android/src/main/res/layout/input_dialog.xml rename to build/android/app/src/main/res/layout/input_dialog.xml diff --git a/build/android/src/main/res/layout/rate_dialog.xml b/build/android/app/src/main/res/layout/rate_dialog.xml similarity index 100% rename from build/android/src/main/res/layout/rate_dialog.xml rename to build/android/app/src/main/res/layout/rate_dialog.xml diff --git a/build/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/build/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml similarity index 66% rename from build/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml rename to build/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index c9ad5f98..c4a603d4 100644 --- a/build/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/build/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/build/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/build/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..c4a603d4 --- /dev/null +++ b/build/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/build/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/build/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..ecbdcd5e Binary files /dev/null and b/build/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ diff --git a/build/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/build/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 00000000..772607ba Binary files /dev/null and b/build/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/build/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/build/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..9f5a4c61 Binary files /dev/null and b/build/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ diff --git a/build/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/build/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 00000000..a4ae54bd Binary files /dev/null and b/build/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/build/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/build/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..3bec2ac1 Binary files /dev/null and b/build/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ diff --git a/build/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/build/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 00000000..9be1a572 Binary files /dev/null and b/build/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/build/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/build/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..b5f3c6c2 Binary files /dev/null and b/build/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ diff --git a/build/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/build/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 00000000..e2db1dfb Binary files /dev/null and b/build/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/build/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/build/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..52588795 Binary files /dev/null and b/build/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ diff --git a/build/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/build/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 00000000..675fb605 Binary files /dev/null and b/build/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/build/android/app/src/main/res/mipmap/ic_launcher.png b/build/android/app/src/main/res/mipmap/ic_launcher.png new file mode 100644 index 00000000..42c24d58 Binary files /dev/null and b/build/android/app/src/main/res/mipmap/ic_launcher.png differ diff --git a/build/android/src/main/res/values-ru/strings.xml b/build/android/app/src/main/res/values-ru/strings.xml similarity index 89% rename from build/android/src/main/res/values-ru/strings.xml rename to build/android/app/src/main/res/values-ru/strings.xml index 49c798d1..50502476 100644 --- a/build/android/src/main/res/values-ru/strings.xml +++ b/build/android/app/src/main/res/values-ru/strings.xml @@ -13,7 +13,7 @@ Доступ к местоположению обеспечивает Вам лучшее взаимодействие с игрой Закрыть игру Настройки - Вы не можете использовать MultiCraft без разрешения на запись. \nПожалуйста, включите его в [Настройки] -> [Разрешения]> + Вы не можете играть в MultiCraft без разрешения на запись. \nПожалуйста, включите его в [Настройки] -> [Разрешения]> Оцените MultiCraft! Название @@ -25,8 +25,6 @@ Позже Обновить - - Для полноценной игры, MultiCraft требует подключение к интернету.\nВ противном случае невозможно обновление игры, а так же не доступен мультиплеер! Wi-Fi diff --git a/build/android/src/main/res/values-v21/styles.xml b/build/android/app/src/main/res/values-v21/styles.xml similarity index 100% rename from build/android/src/main/res/values-v21/styles.xml rename to build/android/app/src/main/res/values-v21/styles.xml diff --git a/build/android/src/main/res/values/ic_launcher_background.xml b/build/android/app/src/main/res/values/ic_launcher_background.xml similarity index 100% rename from build/android/src/main/res/values/ic_launcher_background.xml rename to build/android/app/src/main/res/values/ic_launcher_background.xml diff --git a/build/android/src/main/res/values/strings.xml b/build/android/app/src/main/res/values/strings.xml similarity index 93% rename from build/android/src/main/res/values/strings.xml rename to build/android/app/src/main/res/values/strings.xml index 6e710644..ce163ec1 100644 --- a/build/android/src/main/res/values/strings.xml +++ b/build/android/app/src/main/res/values/strings.xml @@ -17,7 +17,7 @@ Location permission provide you better interaction with game Close game App settings - You cannot use MultiCraft without storage permission. \nPlease turn on it at [Settings] -> [Permissions]> + You cannot play MultiCraft without storage permission. \nPlease turn on it at [Settings] -> [Permissions]> Please, rate MultiCraft! Title @@ -30,8 +30,6 @@ Later Ignore - - MultiCraft requires an internet connection to use all game features.\nOtherwise, you will not get updates and multiplayer will be not available! Wi-Fi diff --git a/build/android/src/main/res/values/styles.xml b/build/android/app/src/main/res/values/styles.xml similarity index 100% rename from build/android/src/main/res/values/styles.xml rename to build/android/app/src/main/res/values/styles.xml diff --git a/build/android/src/main/res/xml/my_backup_rules.xml b/build/android/app/src/main/res/xml/my_backup_rules.xml similarity index 100% rename from build/android/src/main/res/xml/my_backup_rules.xml rename to build/android/app/src/main/res/xml/my_backup_rules.xml diff --git a/build/android/src/main/res/xml/network_security_config.xml b/build/android/app/src/main/res/xml/network_security_config.xml similarity index 100% rename from build/android/src/main/res/xml/network_security_config.xml rename to build/android/app/src/main/res/xml/network_security_config.xml diff --git a/build/android/build.gradle b/build/android/build.gradle index cf6c50d1..5006f310 100644 --- a/build/android/build.gradle +++ b/build/android/build.gradle @@ -1,3 +1,5 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + buildscript { repositories { google() @@ -8,6 +10,8 @@ buildscript { classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms:google-services:4.3.0' classpath 'io.fabric.tools:gradle:1.29.0' + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files } } @@ -15,76 +19,10 @@ allprojects { repositories { google() jcenter() + flatDir { dirs 'libs-aar' } } } -apply plugin: 'com.android.application' -android { - compileSdkVersion 29 - buildToolsVersion "29.0.1" - - defaultConfig { - applicationId 'com.multicraft.game' - minSdkVersion 16 - targetSdkVersion 29 - versionCode 1 - } - Properties props = new Properties() - props.load(new FileInputStream(file("local.properties"))) - - if (props.getProperty("keystore") != null) { - signingConfigs { - release { - storeFile file(props["keystore"]) - storePassword props["keystore.password"] - keyAlias props["key"] - keyPassword props["key.password"] - } - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - signingConfig signingConfigs.release - } - } - } -// for multiple APKs - splits { - abi { - enable true - reset() - include "armeabi-v7a", "arm64-v8a" /*, "x86"*/ - } - } -} - -// build multiple APKs for all ABI -ext.abiCodes = ['armeabi-v7a': 0, 'arm64-v8a': 1, 'x86': 2] -import com.android.build.OutputFile - -android.applicationVariants.all { variant -> - variant.outputs.each { output -> - def baseAbiVersionCode = - project.ext.abiCodes.get(output.getFilter(OutputFile.ABI)) - if (baseAbiVersionCode != null) { - output.versionCodeOverride = - baseAbiVersionCode + variant.versionCode - } - } -} - -dependencies { - implementation project(":native") -} - -dependencies { - implementation 'androidx.appcompat:appcompat:1.0.2' - implementation 'com.google.firebase:firebase-core:17.0.0' - implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1' - // Third-party libraries - implementation 'com.itlgl:iosdialog:1.0.0' - implementation 'gun0912.ted:tedpermission:2.2.2' - implementation group: 'commons-io', name: 'commons-io', version: '2.4' -} +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/build/android/Makefile b/build/android/deprecated/Makefile similarity index 100% rename from build/android/Makefile rename to build/android/deprecated/Makefile diff --git a/build/android/jni/Deps.mk b/build/android/deprecated/jni/Deps.mk similarity index 100% rename from build/android/jni/Deps.mk rename to build/android/deprecated/jni/Deps.mk diff --git a/build/android/jni/Irrlicht.mk b/build/android/deprecated/jni/Irrlicht.mk similarity index 100% rename from build/android/jni/Irrlicht.mk rename to build/android/deprecated/jni/Irrlicht.mk diff --git a/build/android/patches/irrlicht-back_button.patch b/build/android/deprecated/patches/irrlicht-back_button.patch similarity index 97% rename from build/android/patches/irrlicht-back_button.patch rename to build/android/deprecated/patches/irrlicht-back_button.patch index e17b8134..fa5d446b 100644 --- a/build/android/patches/irrlicht-back_button.patch +++ b/build/android/deprecated/patches/irrlicht-back_button.patch @@ -1,20 +1,20 @@ --- irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp.orig 2015-08-29 15:43:09.000000000 +0300 +++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2016-05-13 21:36:22.880388505 +0300 @@ -486,7 +486,7 @@ - event.KeyInput.Char = 0; - } - -- device->postEventFromUser(event); -+ status = device->postEventFromUser(event); - } - break; - default: + event.KeyInput.Char = 0; + } + +- device->postEventFromUser(event); ++ status = device->postEventFromUser(event); + } + break; + default: @@ -543,7 +543,7 @@ - KeyMap[1] = KEY_LBUTTON; // AKEYCODE_SOFT_LEFT - KeyMap[2] = KEY_RBUTTON; // AKEYCODE_SOFT_RIGHT - KeyMap[3] = KEY_HOME; // AKEYCODE_HOME -- KeyMap[4] = KEY_BACK; // AKEYCODE_BACK -+ KeyMap[4] = KEY_CANCEL; // AKEYCODE_BACK - KeyMap[5] = KEY_UNKNOWN; // AKEYCODE_CALL - KeyMap[6] = KEY_UNKNOWN; // AKEYCODE_ENDCALL - KeyMap[7] = KEY_KEY_0; // AKEYCODE_0 + KeyMap[1] = KEY_LBUTTON; // AKEYCODE_SOFT_LEFT + KeyMap[2] = KEY_RBUTTON; // AKEYCODE_SOFT_RIGHT + KeyMap[3] = KEY_HOME; // AKEYCODE_HOME +- KeyMap[4] = KEY_BACK; // AKEYCODE_BACK ++ KeyMap[4] = KEY_CANCEL; // AKEYCODE_BACK + KeyMap[5] = KEY_UNKNOWN; // AKEYCODE_CALL + KeyMap[6] = KEY_UNKNOWN; // AKEYCODE_ENDCALL + KeyMap[7] = KEY_KEY_0; // AKEYCODE_0 diff --git a/build/android/patches/irrlicht-native_activity.patch b/build/android/deprecated/patches/irrlicht-native_activity.patch similarity index 97% rename from build/android/patches/irrlicht-native_activity.patch rename to build/android/deprecated/patches/irrlicht-native_activity.patch index 74a6f5e4..7288a0db 100644 --- a/build/android/patches/irrlicht-native_activity.patch +++ b/build/android/deprecated/patches/irrlicht-native_activity.patch @@ -1,12 +1,12 @@ --- irrlicht/source/Irrlicht/CEGLManager.cpp.orig 2018-04-24 19:27:51.034727946 +0200 +++ irrlicht/source/Irrlicht/CEGLManager.cpp 2018-04-24 19:27:55.084614618 +0200 @@ -8,6 +8,9 @@ - - #include "irrString.h" - #include "os.h" -+#if defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_) -+#include -+#endif - - namespace irr - { + + #include "irrString.h" + #include "os.h" ++#if defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_) ++#include ++#endif + + namespace irr + { diff --git a/build/android/patches/irrlicht-roundingerror.patch b/build/android/deprecated/patches/irrlicht-roundingerror.patch similarity index 96% rename from build/android/patches/irrlicht-roundingerror.patch rename to build/android/deprecated/patches/irrlicht-roundingerror.patch index f1692595..9787eaa9 100644 --- a/build/android/patches/irrlicht-roundingerror.patch +++ b/build/android/deprecated/patches/irrlicht-roundingerror.patch @@ -1,15 +1,15 @@ --- irrlicht/include/irrMath.h.orig 2019-04-01 22:16:52.000000000 +0200 +++ irrlicht/include/irrMath.h 2019-04-01 22:22:52.000000000 +0200 @@ -198,6 +198,12 @@ - } - - template <> -+ inline s16 roundingError() -+ { -+ return 0; -+ } -+ -+ template <> - inline s32 roundingError() - { - return ROUNDING_ERROR_S32; + } + + template <> ++ inline s16 roundingError() ++ { ++ return 0; ++ } ++ ++ template <> + inline s32 roundingError() + { + return ROUNDING_ERROR_S32; diff --git a/build/android/patches/irrlicht-touchcount.patch b/build/android/deprecated/patches/irrlicht-touchcount.patch similarity index 98% rename from build/android/patches/irrlicht-touchcount.patch rename to build/android/deprecated/patches/irrlicht-touchcount.patch index d4e4b9c3..f0c3db67 100644 --- a/build/android/patches/irrlicht-touchcount.patch +++ b/build/android/deprecated/patches/irrlicht-touchcount.patch @@ -1,30 +1,30 @@ --- irrlicht.orig/include/IEventReceiver.h 2014-06-03 19:43:50.433713133 +0200 +++ irrlicht/include/IEventReceiver.h 2014-06-03 19:44:36.993711489 +0200 @@ -375,6 +375,9 @@ - // Y position of simple touch. - s32 Y; - -+ // number of current touches -+ s32 touchedCount; -+ - //! Type of touch event. - ETOUCH_INPUT_EVENT Event; - }; + // Y position of simple touch. + s32 Y; + ++ // number of current touches ++ s32 touchedCount; ++ + //! Type of touch event. + ETOUCH_INPUT_EVENT Event; + }; --- irrlicht.orig/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2014-06-03 19:43:50.505713130 +0200 +++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2014-06-03 19:45:37.265709359 +0200 @@ -315,6 +315,7 @@ - event.TouchInput.ID = AMotionEvent_getPointerId(androidEvent, i); - event.TouchInput.X = AMotionEvent_getX(androidEvent, i); - event.TouchInput.Y = AMotionEvent_getY(androidEvent, i); -+ event.TouchInput.touchedCount = AMotionEvent_getPointerCount(androidEvent); - - device->postEventFromUser(event); - } + event.TouchInput.ID = AMotionEvent_getPointerId(androidEvent, i); + event.TouchInput.X = AMotionEvent_getX(androidEvent, i); + event.TouchInput.Y = AMotionEvent_getY(androidEvent, i); ++ event.TouchInput.touchedCount = AMotionEvent_getPointerCount(androidEvent); + + device->postEventFromUser(event); + } @@ -326,6 +327,7 @@ - event.TouchInput.ID = AMotionEvent_getPointerId(androidEvent, pointerIndex); - event.TouchInput.X = AMotionEvent_getX(androidEvent, pointerIndex); - event.TouchInput.Y = AMotionEvent_getY(androidEvent, pointerIndex); -+ event.TouchInput.touchedCount = AMotionEvent_getPointerCount(androidEvent); - - device->postEventFromUser(event); - } + event.TouchInput.ID = AMotionEvent_getPointerId(androidEvent, pointerIndex); + event.TouchInput.X = AMotionEvent_getX(androidEvent, pointerIndex); + event.TouchInput.Y = AMotionEvent_getY(androidEvent, pointerIndex); ++ event.TouchInput.touchedCount = AMotionEvent_getPointerCount(androidEvent); + + device->postEventFromUser(event); + } diff --git a/build/android/patches/libiconv_android.patch b/build/android/deprecated/patches/libiconv_android.patch similarity index 100% rename from build/android/patches/libiconv_android.patch rename to build/android/deprecated/patches/libiconv_android.patch diff --git a/build/android/native/build.gradle b/build/android/native/build.gradle index 550ecfe6..5593bcb9 100644 --- a/build/android/native/build.gradle +++ b/build/android/native/build.gradle @@ -7,17 +7,17 @@ android { targetSdkVersion 29 externalNativeBuild { ndkBuild { - arguments "-j12", - "APP_STL=c++_shared", - "COMPILER_VERSION=clang", - "APP_SHORT_COMMANDS=true" + arguments '-j12', + 'APP_STL=c++_shared', + 'COMPILER_VERSION=clang', + 'APP_SHORT_COMMANDS=true' } } } externalNativeBuild { ndkBuild { - path file("jni/Android.mk") + path file('jni/Android.mk') } } @@ -26,12 +26,16 @@ android { abi { enable true reset() - include "armeabi-v7a", "arm64-v8a" /*, "x86"*/ + include 'armeabi-v7a', 'arm64-v8a'//, 'x86'*/ } } buildTypes { - debug { - debuggable = false + release { + externalNativeBuild { + ndkBuild { + arguments 'NDEBUG=1' + } + } } } } diff --git a/build/android/native/jni/Android.mk b/build/android/native/jni/Android.mk index 9193d1a5..72896739 100644 --- a/build/android/native/jni/Android.mk +++ b/build/android/native/jni/Android.mk @@ -306,14 +306,14 @@ LOCAL_SRC_FILES += \ deps/Android/libiconv/libcharset/lib/localcharset.c # GMP -ifneq ($(APP_ABI),arm64-v8a) +#ifneq ($(APP_ABI),arm64-v8a) LOCAL_C_INCLUDES += ../../../lib/gmp LOCAL_SRC_FILES += ../../../lib/gmp/mini-gmp.c -else - LOCAL_CFLAGS += -DUSE_SYSTEM_GMP=1 - LOCAL_C_INCLUDES += deps/Android/gmp/include - LOCAL_STATIC_LIBRARIES := gmp -endif +#else +# LOCAL_CFLAGS += -DUSE_SYSTEM_GMP=1 +# LOCAL_C_INCLUDES += deps/Android/gmp/include +# LOCAL_STATIC_LIBRARIES := gmp +#endif LOCAL_STATIC_LIBRARIES += Irrlicht LevelDB Curl Freetype OpenAL Vorbis LuaJIT android_native_app_glue $(PROFILER_LIBS) diff --git a/build/android/settings.gradle b/build/android/settings.gradle index df0e3ee9..678748ae 100644 --- a/build/android/settings.gradle +++ b/build/android/settings.gradle @@ -1 +1 @@ -include ':native' +include ':app', ':native' diff --git a/build/android/src/main/res/mipmap/ic_launcher.png b/build/android/src/main/res/mipmap/ic_launcher.png deleted file mode 100644 index 17732489..00000000 Binary files a/build/android/src/main/res/mipmap/ic_launcher.png and /dev/null differ diff --git a/build/android/src/main/res/mipmap/ic_launcher_foreground.png b/build/android/src/main/res/mipmap/ic_launcher_foreground.png deleted file mode 100644 index 2b43af5d..00000000 Binary files a/build/android/src/main/res/mipmap/ic_launcher_foreground.png and /dev/null differ