From 693578a74fff266363a735e2c78b09f2d0f377e1 Mon Sep 17 00:00:00 2001 From: klzgrad Date: Mon, 15 Jan 2024 02:31:29 +0800 Subject: [PATCH] Add apk build --- apk/.gitignore | 2 + apk/app/build.gradle.kts | 75 +++++++ apk/app/src/main/AndroidManifest.xml | 46 +++++ .../sagernet/plugin/NativePluginProvider.kt | 98 ++++++++++ .../sagernet/plugin/PathProvider.kt | 53 +++++ .../sagernet/plugin/PluginContract.kt | 34 ++++ .../moe/matsuri/exe/naive/BinaryProvider.kt | 42 ++++ .../res/drawable/ic_launcher_foreground.xml | 25 +++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1720 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 3685 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1160 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2325 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2371 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 5334 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 3726 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 8363 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5173 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 12120 bytes .../res/values/ic_launcher_background.xml | 4 + apk/build.gradle | 18 ++ apk/gradle.properties | 21 ++ apk/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes apk/gradle/wrapper/gradle-wrapper.properties | 6 + apk/gradlew | 185 ++++++++++++++++++ apk/release.keystore | Bin 0 -> 4410 bytes apk/settings.gradle | 10 + 28 files changed, 631 insertions(+) create mode 100644 apk/.gitignore create mode 100644 apk/app/build.gradle.kts create mode 100644 apk/app/src/main/AndroidManifest.xml create mode 100644 apk/app/src/main/java/io/nekohasekai/sagernet/plugin/NativePluginProvider.kt create mode 100644 apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PathProvider.kt create mode 100644 apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginContract.kt create mode 100644 apk/app/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt create mode 100644 apk/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 apk/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 apk/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 apk/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 apk/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 apk/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 apk/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 apk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 apk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 apk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 apk/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 apk/app/src/main/res/values/ic_launcher_background.xml create mode 100644 apk/build.gradle create mode 100644 apk/gradle.properties create mode 100644 apk/gradle/wrapper/gradle-wrapper.jar create mode 100644 apk/gradle/wrapper/gradle-wrapper.properties create mode 100755 apk/gradlew create mode 100644 apk/release.keystore create mode 100644 apk/settings.gradle diff --git a/apk/.gitignore b/apk/.gitignore new file mode 100644 index 0000000000..33e08ed755 --- /dev/null +++ b/apk/.gitignore @@ -0,0 +1,2 @@ +.gradle/ +app/build/ diff --git a/apk/app/build.gradle.kts b/apk/app/build.gradle.kts new file mode 100644 index 0000000000..5c866f9610 --- /dev/null +++ b/apk/app/build.gradle.kts @@ -0,0 +1,75 @@ +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "moe.matsuri.exe.naive" + + signingConfigs { + create("release") { + storeFile = rootProject.file("release.keystore") + storePassword = System.getenv("KEYSTORE_PASS") + keyAlias = "release" + keyPassword = System.getenv("KEYSTORE_PASS") + } + } + + buildTypes { + getByName("release") { + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + file("proguard-rules.pro") + ) + isMinifyEnabled = true + signingConfig = signingConfigs.getByName("release") + } + } + + compileSdk = 33 + + defaultConfig { + minSdk = 21 + targetSdk = 33 + + applicationId = "moe.matsuri.exe.naive" + versionCode = System.getenv("APK_VERSION_NAME").removePrefix("v").split(".")[0].toInt() + versionName = System.getenv("APK_VERSION_NAME").removePrefix("v") + splits.abi { + isEnable = true + isUniversalApk = false + reset() + include(System.getenv("APK_ABI")) + } + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = "1.8" + } + + lint { + showAll = true + checkAllWarnings = true + checkReleaseBuilds = false + warningsAsErrors = true + } + + applicationVariants.all { + outputs.all { + this as com.android.build.gradle.internal.api.BaseVariantOutputImpl + outputFileName = + outputFileName.replace(project.name, "naiveproxy-plugin-v$versionName") + .replace("-release", "") + .replace("-oss", "") + } + } + + sourceSets.getByName("main") { + jniLibs.srcDir("libs") + } +} diff --git a/apk/app/src/main/AndroidManifest.xml b/apk/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..72f3c643dc --- /dev/null +++ b/apk/app/src/main/AndroidManifest.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/NativePluginProvider.kt b/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/NativePluginProvider.kt new file mode 100644 index 0000000000..ef37e2b3e3 --- /dev/null +++ b/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/NativePluginProvider.kt @@ -0,0 +1,98 @@ +/****************************************************************************** + * * + * Copyright (C) 2021 by nekohasekai * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + * * + ******************************************************************************/ + +package io.nekohasekai.sagernet.plugin + +import android.content.ContentProvider +import android.content.ContentValues +import android.database.Cursor +import android.database.MatrixCursor +import android.net.Uri +import android.os.Bundle +import android.os.ParcelFileDescriptor + +abstract class NativePluginProvider : ContentProvider() { + override fun getType(uri: Uri): String? = "application/x-elf" + + override fun onCreate(): Boolean = true + + /** + * Provide all files needed for native plugin. + * + * @param provider A helper object to use to add files. + */ + protected abstract fun populateFiles(provider: PathProvider) + + override fun query( + uri: Uri, + projection: Array?, + selection: String?, + selectionArgs: Array?, + sortOrder: String?, + ): Cursor? { + check(selection == null && selectionArgs == null && sortOrder == null) + val result = MatrixCursor(projection) + populateFiles(PathProvider(uri, result)) + return result + } + + /** + * Returns executable entry absolute path. + * This is used for fast mode initialization where ss-local launches your native binary at the path given directly. + * In order for this to work, plugin app is encouraged to have the following in its AndroidManifest.xml: + * - android:installLocation="internalOnly" for + * - android:extractNativeLibs="true" for + * + * Default behavior is throwing UnsupportedOperationException. If you don't wish to use this feature, use the + * default behavior. + * + * @return Absolute path for executable entry. + */ + open fun getExecutable(): String = throw UnsupportedOperationException() + + abstract fun openFile(uri: Uri): ParcelFileDescriptor + override fun openFile(uri: Uri, mode: String): ParcelFileDescriptor { + check(mode == "r") + return openFile(uri) + } + + override fun call(method: String, arg: String?, extras: Bundle?): Bundle? = when (method) { + PluginContract.METHOD_GET_EXECUTABLE -> { + Bundle().apply { + putString(PluginContract.EXTRA_ENTRY, getExecutable()) + } + } + else -> super.call(method, arg, extras) + } + + // Methods that should not be used + override fun insert(uri: Uri, values: ContentValues?): Uri? = + throw UnsupportedOperationException() + + override fun update( + uri: Uri, + values: ContentValues?, + selection: String?, + selectionArgs: Array?, + ): Int = + throw UnsupportedOperationException() + + override fun delete(uri: Uri, selection: String?, selectionArgs: Array?): Int = + throw UnsupportedOperationException() +} diff --git a/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PathProvider.kt b/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PathProvider.kt new file mode 100644 index 0000000000..8008e5a510 --- /dev/null +++ b/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PathProvider.kt @@ -0,0 +1,53 @@ +/****************************************************************************** + * * + * Copyright (C) 2021 by nekohasekai * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + * * + ******************************************************************************/ + +package io.nekohasekai.sagernet.plugin + +import android.database.MatrixCursor +import android.net.Uri +import java.io.File + +/** + * Helper class to provide relative paths of files to copy. + */ +class PathProvider internal constructor(baseUri: Uri, private val cursor: MatrixCursor) { + private val basePath = baseUri.path?.trim('/') ?: "" + + fun addPath(path: String, mode: Int = 0b110100100): PathProvider { + val trimmed = path.trim('/') + if (trimmed.startsWith(basePath)) cursor.newRow() + .add(PluginContract.COLUMN_PATH, trimmed) + .add(PluginContract.COLUMN_MODE, mode) + return this + } + fun addTo(file: File, to: String = "", mode: Int = 0b110100100): PathProvider { + var sub = to + file.name + if (basePath.startsWith(sub)) if (file.isDirectory) { + sub += '/' + file.listFiles()!!.forEach { addTo(it, sub, mode) } + } else addPath(sub, mode) + return this + } + fun addAt(file: File, at: String = "", mode: Int = 0b110100100): PathProvider { + if (basePath.startsWith(at)) { + if (file.isDirectory) file.listFiles()!!.forEach { addTo(it, at, mode) } else addPath(at, mode) + } + return this + } +} diff --git a/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginContract.kt b/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginContract.kt new file mode 100644 index 0000000000..2788533292 --- /dev/null +++ b/apk/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginContract.kt @@ -0,0 +1,34 @@ +/****************************************************************************** + * * + * Copyright (C) 2021 by nekohasekai * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + * * + ******************************************************************************/ + +package io.nekohasekai.sagernet.plugin + +object PluginContract { + + const val ACTION_NATIVE_PLUGIN = "io.nekohasekai.sagernet.plugin.ACTION_NATIVE_PLUGIN" + const val EXTRA_ENTRY = "io.nekohasekai.sagernet.plugin.EXTRA_ENTRY" + const val METADATA_KEY_ID = "io.nekohasekai.sagernet.plugin.id" + const val METADATA_KEY_EXECUTABLE_PATH = "io.nekohasekai.sagernet.plguin.executable_path" + const val METHOD_GET_EXECUTABLE = "sagernet:getExecutable" + + const val COLUMN_PATH = "path" + const val COLUMN_MODE = "mode" + const val SCHEME = "plugin" + const val AUTHORITY = "io.nekohasekai.sagernet" +} diff --git a/apk/app/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt b/apk/app/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt new file mode 100644 index 0000000000..2776e4cd00 --- /dev/null +++ b/apk/app/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt @@ -0,0 +1,42 @@ +/****************************************************************************** + * * + * Copyright (C) 2021 by nekohasekai * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + * * + ******************************************************************************/ + +package moe.matsuri.exe.naive + +import android.net.Uri +import android.os.ParcelFileDescriptor +import io.nekohasekai.sagernet.plugin.NativePluginProvider +import io.nekohasekai.sagernet.plugin.PathProvider +import java.io.File +import java.io.FileNotFoundException + +class BinaryProvider : NativePluginProvider() { + override fun populateFiles(provider: PathProvider) { + provider.addPath("naive-plugin", 0b111101101) + } + + override fun getExecutable() = context!!.applicationInfo.nativeLibraryDir + "/libnaive.so" + override fun openFile(uri: Uri): ParcelFileDescriptor = when (uri.path) { + "/naive-plugin" -> ParcelFileDescriptor.open( + File(getExecutable()), + ParcelFileDescriptor.MODE_READ_ONLY + ) + else -> throw FileNotFoundException() + } +} diff --git a/apk/app/src/main/res/drawable/ic_launcher_foreground.xml b/apk/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000000..40d1699539 --- /dev/null +++ b/apk/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + diff --git a/apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000000..515b77ec11 --- /dev/null +++ b/apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000000..515b77ec11 --- /dev/null +++ b/apk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/apk/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apk/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db5767033e2c8b9558239e4f837145db6eb247ef GIT binary patch literal 1720 zcma)-jXx6z1IITn+t3C`Sjcn1E&G-CL@cv|B46sKEqh{To+mO>|?zAwx=82xY6wY@CCPXb{Pw z`~7knh_t~t&t5D!GVAV`fy=4Xt}T1-&QiY3f#gtwc>!_c?BdmJYVc^G|K1q?mL+rB zMfhtWoIKgNZP~cZ9JV?Ev5Wcgq51qMkghEM_K&$N!(-?bOSXQJb@uBE=zTI-C@Y?B zJ-K+@Q$1zvnaf`zIjbUSYUzw{zDx`h$Zd?2WMYjyEBGgq=E6SVfR}XhN@G0CTKb`z zy+gu)B^}|0rxp{3Xb!>oXBkMmN{@Ot8{=%CT$E1>1+NJ&Z&b%-o?;QR4n<6)>p&lH zXB>n@OGk>jJ)*6isyP|yOT0ACg0M9@H8O&SGMv%n5tXpAW*O6xNEJ8OG(w|z@|I0pVgS%pG(+Z2%ik(tZxO%cIQ1VlM>D?S1enp zNDk)uEM^WgFMO0CI{V5oNDn^LQT2?+A17{&TCG}4;4Pb8ZrIqEP69U=_uy>(K<6{* zz97?hL-AyhLb*biD1RF;BEdm-3on3=T6CMT?!qK5rQBStZ zXFCPVv&z%N-bkLJ#=qy1+EQ-O6vA? zWmTz&)~d`OHjmi2Y!d$AH!&?D5F-JFS+b0RZ1&Z2BR%hFzjgX4%0BkSw9DZ?-Y_TI zAfdz0JLLBkmI(IubRV5R6H?6m3Ey;o-^hom{dCw-G&1#aNzUg^S`&4KK6PG^TMkI} zti0Y1bH`r;_16tb^0hNVC5jyW7)o#jyPck-p48z5{Te;r7ytXXSM|Y_LyUwH+;c7A^o^o!`!bO*eC7-%VC$@)D17HTO778S8!K7I zC)OOU{CEg+r+t7Hx5;e-WX1ct;quA3Zz=%0COn7w70Z%{p&(n6&Y$Ps!M*)yk@lhi z0T0~2V;!kC#rP_`BPJKz=9g=lliN@9uhH;Juy^sKV0drIO*CS5jm^Mxm;PO;M%tE5 zj%xAPhkIf0ZefRnfBT0B4T(t_f-OLUdJSb=LW0e*$%R4 z)yr=btdhPg*h*Cd%R@h7vyb~?GU9%T>EVsiQXa8`KH^Ga7jAQ$ukKargypl^1%G@I zn7P@nhizP{1F$^&*2a3KKv@G?3#8S}B1N?AVTlxII zCmkq8H(XPZzPMPl_%vN?ZGae#0m;J@dS|JBGMv7Gqu!7}MAmR7VArk!&(@95^;7|~e^mt{&BO~SMhnN+I1W7M zSB`pMgSiHf|5<%P=$&Y^JMG#9Y07Cy%r%x!(qevMqw5Dw*$QE?1*arcQptMyByun0 zrN{SC{v+Jh=PxW)No}d9&hCu62~Jpyv{2Zdfs*W*O!3IYP8KI`N56~1c3y;u-y>loQ%kxJc0|-*-iK~gi^C4odhM|&u qodB|F)((ZRbrhzXlfbYGEsZUBZq#3~_Uhk?1VCNDI#wYG^#1`_V=bZp literal 0 HcmV?d00001 diff --git a/apk/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apk/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..11b071c7d471648cba931edff64a0df028d63ccb GIT binary patch literal 3685 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 DMQ;Q$ literal 0 HcmV?d00001 diff --git a/apk/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apk/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7d028abe1323fc56afb886e87957f9560371cc5a GIT binary patch literal 1160 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 literal 0 HcmV?d00001 diff --git a/apk/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apk/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce8151d0bb7f192ff7a51c1ecc21c656f1473b0 GIT binary patch literal 2371 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 literal 0 HcmV?d00001 diff --git a/apk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5181adaae71c3233b3c1b8418b97f9f11eed5b65 GIT binary patch literal 3726 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 ITF=7&1MadTod5s; literal 0 HcmV?d00001 diff --git a/apk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..4feac43c28d607badb99dc6df95085ae26544978 GIT binary patch literal 8363 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 B>?QyJ literal 0 HcmV?d00001 diff --git a/apk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b535a085dc76e2458026feeaca9a103c7d7c6c7e GIT binary patch literal 5173 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 + + #E91E63 + diff --git a/apk/build.gradle b/apk/build.gradle new file mode 100644 index 0000000000..5759acc038 --- /dev/null +++ b/apk/build.gradle @@ -0,0 +1,18 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:7.3.1' + classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/apk/gradle.properties b/apk/gradle.properties new file mode 100644 index 0000000000..cac7c68c14 --- /dev/null +++ b/apk/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official diff --git a/apk/gradle/wrapper/gradle-wrapper.jar b/apk/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/apk/gradle/wrapper/gradle-wrapper.properties b/apk/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..e89ca18b4d --- /dev/null +++ b/apk/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu Jan 27 22:42:44 HKT 2022 +distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionPath=wrapper/dists +zipStorePath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME diff --git a/apk/gradlew b/apk/gradlew new file mode 100755 index 0000000000..4f906e0c81 --- /dev/null +++ b/apk/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# 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 +# +# https://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. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/apk/release.keystore b/apk/release.keystore new file mode 100644 index 0000000000000000000000000000000000000000..bb93a210245adf3991747d403b281885358b043d GIT binary patch literal 4410 zcma)AWl$T8vV{P_-QA@WNpN>}C|aagptQh;1PZ}}wrJrC1d6-6JCq`YHn%AXmcJ`dz{kOAc76d1k0AON);A9&>eEt}%m@8sTT+Dnp*%UUM?8_f| z3N8PX`V$$OTL^Xb*8b78d~kc*y{mY#<^a-v3Ml;NxI`n1T5AF%T4jRRiVM3&vK;CW;g>6LgjiFF-i_(FXgGDmG39f zvxq8GnX)5YUl24djyx@nI5}}tjl83juMXER!VO1_)?FDrf0K`X8_B6~9)Y{sn^`92 zGBnF#Hz-7ZSL-4 zRRdK5KgD=el=?XhqKbrx>Y>W~+t0Vn{L(k>u%e*|P5jpi7EMPR$MhQ&8eaQk?tn&; zvx;I-$E@RH>^d@lIx^xsAx3kq+U>$;6=E&IHleuwNcV~-XZ)y#QN2aS8dj!#QhhEV z!$t&F7XDP}w_9g$6muVJXje+eyu|!^0y`Nk5b0*)G*B>qxfhP?pI(W#R-0Y&iP!$F zWkeTe&~v_V;?11V-s&-XmZcB5C>66}MQAU!M_(X2I!7EH-#`|rD;q~0KL&s|!%WOc zO_uCe59qOmh2M5cZM~;IZ9JvS8e_$B(%;=!eA}Sf;>3>s_v{Bf{nl{e0BpZLdM~57mjT)!xS5E#XS|4Jdfh2&*YQR zSdmgCOaejne66qxL>Mz{4cekoqQwAxp}u`hA6N~Vy)7xkb>@o_TOKUzocHF zo_N?Jdd{Ps;A!hqp8i-F<5YNI6=gDq`a;`l38L@YCxgddi&$kVlue$HJn2dP85m~g zQcwcN_7m7$y!3OL)bJPs$5;O`&J6e4F*Ny zPTq(KjKa)%EwV%T0mgb(&@f(MHYbOptoV|~>b#~Ie+YZbDDpUB=t1_}7lQM9{k~|r zuDu0dN8ecDtimOr!VcuRbj)GD*#CGvIhsl z8?S<#AYPSkET_)ZEZ7wKknPDS^6|_hDKCzJYeed+LJacJ6MU7Fu??LFwU4EBJwKEb z11m%OFt(PPU!sgsGkh~%-ci`zUmVvlajs%v5i>K$ zHt?x5O)D`61|8~?l59FB#z<99$|b&Gh9v~wwfUBZl$@3KG7cBldj~*PWpL7uwDov4 zQPQ;Z(cDzBGsHZKcW&B|czc~G%$vw}(kXoA5gn})jc5DR8CMRD~BbEUL5$P zV^NjkP~NyeK^RLCIcsowGr~|#mr`fAe6<>6o2-@=8-n{O3$MiDSt%B*i0?8W=oh9K z;9F?WqL|BA?Nm1z^Go}?=sAuc9y>*Mn&r9yG@kL$#vO*)Y|_zRG1gO?-6{%n&(WDX zkMFO>n-LFX+d=+iUo!C^Uz%saM`0`m)O#6=!@e{E;ib}Qb~sLL!X%Pm1Qo7}e~a?d zSLD1Gs18|-SWJfdlD$vp6s*A-xEv)vY}EKzc|PG?;`wZ--H*^+lcA+f|3)2<5TsQ3 zQYY1CtDT#%VY;lalMph@(#90s6SA;me06NglxVJugT9LvU1$SuG7m!(5%a+ z-@=UJLrz}8FfsBOKwDgAI3#uTnND`M&B}xygKFAV3ff${P;E z8rr2Iw`$1{h*yq!^^H8$fEYs693_ew)2cussaO7)KJ0Vnj1Tk1jCAuICbu}A7jJ6w zM@G5o2r4r&eQXD(ZTiv&%=F(EPs!&Ys5upf;E8lk%%wsx7?L^%^6MEiC6W<^9~UHuFrXYWE24W5%RxxU+P`ixU<#zv65npSD@#(yp*})M1U7-)CQV ziOj{y-`VCmJFdt&c6mFOZEE63qJ}%nNfjR43c=vFy8 z8j*5GafNGVtovpLhwe&Df%JU9levA7Uk1R-l&P-MQAR#Hk|N?6XV@+HN_bTo{z|#7 z(sMfGbrg}B%N;dHJva4C5moGms9omTSpEx>=7sGWJ(xOeV5idJ=i9x3X-xRC1$ z*^y?HGGQRpY(tVFKsFU<(N!msR3Gi=lht7`)USrL0`2wDZ2X<8+TbV`_5+%lWUApa zl}SrlQ?7m;ZVM1#Nvxwa&m7-ksm%JZKT)w#sw=JmJc7&>-m@uXu?(BN$wrc&DGE}U z{0#dQ<@)LC^!mm2qe61Rg>UiA%4)^RiH^^fJHo}XyI{s$F6$w==WL%jyYa$KwTU!j zP8j*xr4u#b16KLB>H3eU!>0n1v5;W+U_db3|G)vm7Xt!f|F299royH$b@PC*fh9rW zB4Sda5|UD)A|N>M{Xa#xz#tNxrJuu)KvT=SP~2mDsC=!+{vMH@EWN(-ND5(1%*j*mQ+^deQczrpnNw zEIR))K6P?pH*L*e+H=a;M_4LVW>+;ho!_eWE3^rkdjRzIJvXi?*1;i>+VpV4)7E7g2n`6~?| z{(?&)UHT2ODmNx||H-dJRXkX}8mAKKeJ$@{Pa1(ka=LXUZTflxDqU*ooSkG@=v3N*w{B&6e6K+ zY^<~_60cQMe$<6yG=Kv8S0-7NPZNN;ZFE88zr+~kTRjXWn;AjwEPO8&=6u3&&JefXa2`Bx*UkU4$jC2Rl)OQ#TjX3d)kQ!VulyyM zlJ6ks!2WXf7Uu+x_|D{Vzm=gFxUgJLU=+MsB_nanW8hA)DL-GwLph{9>vFp1@hncm zK)%J~*QxagifWKMoqd%)y+Ej;kBXHUpE-!yB44J6e$$O9g(FpS&_2qrYwd4wl$3xy zrRWl^gHz#FRiAZQjI6i2t4`!Em+!kl+Vw-dARcfnJFr}3qAQa8NO9Q;ID(qAdj)Gs z*2(pdd<|9)Ny8i8Jx<>Lji zcxgR`2fZvSsO>ibe_-9$Pxhzh;(OE4gXCeUtfQw1yG`90xWC=u#F zKFnv9BjtbtQYrheRIUwjUDd1U?Tx#NLpd^vb_x<=VwrQiVgQA^9}iojbuE2 zTE0$<5Z}IV9LwKM?Tx=)aKlqZhTZY$$k;qw9K233Sil8QH3(asR zv6!kBM$3mb{aw6_>ZP@LH%9SM6`vs(b^XLsw%ycxOV8asf%rA+#_yWRT)J3M#NfJY zjuXX<9=GpNOQfX`HblRWIbZe*?XHh&FbXd*?HC)#rQ&X11a7f&pt!R!FCEg=I0(I! z#c7Y}ITW24G<@R#)<8qxE4Jto=Ej!S=2S;bSx?o>0a}+J4>()w1U0318(;` z{(>gMSZ=3PBj2vS54f-oQptb^dL~ z;)f+4N8YDB>00ZXuBj?~nKz2P=i~RcUG~b9>qL10tlsku{yT&V3fh>$VZ7k1{1?T{ zO)7l!_H(w;d8Yi-(F4+sC>}bvTcO4GDGstSyug;BPN6LLFkJZU+e3XymRL1}BdxeL zU2rQ_pF;8OQr%{F(sXRHtC6o5O4mWltAEn$H~`kZd3hY#NPk5hk|=EwKz3Kx9NdKk z(g%S-#Q*#g0GK!!*lcEh5doXQ&TDMjA3Sj+S;hJdXy2F1o_@96`5StvYZ8r3)qX93 Y=Q<--6+#4UfalCPdH%k8_3sn(FPm{D4gdfE literal 0 HcmV?d00001 diff --git a/apk/settings.gradle b/apk/settings.gradle new file mode 100644 index 0000000000..aa6d172eb0 --- /dev/null +++ b/apk/settings.gradle @@ -0,0 +1,10 @@ +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} +rootProject.name = "Matsuri Plugins" + +include ':app'