6.6.2 - Alpha - 精简打包应用模板 APK 文件大小
This commit is contained in:
@@ -1,5 +1,11 @@
|
|||||||
{
|
{
|
||||||
"$data": {
|
"$data": {
|
||||||
|
"v6.6.2": {
|
||||||
|
"released_date": "2025/01/02",
|
||||||
|
"improvement": [
|
||||||
|
"精简打包应用模板 APK 文件大小"
|
||||||
|
]
|
||||||
|
},
|
||||||
"v6.6.1": {
|
"v6.6.1": {
|
||||||
"released_date": "2025/01/01",
|
"released_date": "2025/01/01",
|
||||||
"feature": [
|
"feature": [
|
||||||
|
|||||||
@@ -433,8 +433,10 @@ android {
|
|||||||
compileSdk = versions.sdkVersionCompile
|
compileSdk = versions.sdkVersionCompile
|
||||||
versionCode = versions.appVersionCode
|
versionCode = versions.appVersionCode
|
||||||
versionName = versions.appVersionName
|
versionName = versions.appVersionName
|
||||||
|
|
||||||
buildConfigField("String", "CHANNEL", "\"$flavorNameInrt\"")
|
buildConfigField("String", "CHANNEL", "\"$flavorNameInrt\"")
|
||||||
buildConfigField("boolean", "is${flavorNameInrt.uppercaseFirstChar()}", "true")
|
buildConfigField("boolean", "is${flavorNameInrt.uppercaseFirstChar()}", "true")
|
||||||
|
|
||||||
manifestPlaceholders.putAll(
|
manifestPlaceholders.putAll(
|
||||||
mapOf(
|
mapOf(
|
||||||
"CHANNEL" to flavorNameInrt,
|
"CHANNEL" to flavorNameInrt,
|
||||||
@@ -445,20 +447,7 @@ android {
|
|||||||
"icon" to "@mipmap/ic_launcher",
|
"icon" to "@mipmap/ic_launcher",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
packagingOptions.apply {
|
|
||||||
// @Reference to kkevsekk1/AutoX (https://github.com/kkevsekk1/AutoX) by SuperMonster003 on Nov 16, 2023.
|
|
||||||
// ! https://github.com/kkevsekk1/AutoX/blob/a6d482189291b460c3be60970b74c5321d26e457/inrt/build.gradle.kts#L91
|
|
||||||
jniLibs.excludes += "*"
|
|
||||||
resources.excludes.addAll(
|
|
||||||
listOf(
|
|
||||||
"com/**/*",
|
|
||||||
"frameworks/**/*",
|
|
||||||
"junit/**/*",
|
|
||||||
"LICENSE-junit.txt",
|
|
||||||
"spec.txt",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
// @Reference to kkevsekk1/AutoX (https://github.com/kkevsekk1/AutoX) by SuperMonster003 on Nov 16, 2023.
|
// @Reference to kkevsekk1/AutoX (https://github.com/kkevsekk1/AutoX) by SuperMonster003 on Nov 16, 2023.
|
||||||
// ! https://github.com/kkevsekk1/AutoX/blob/a6d482189291b460c3be60970b74c5321d26e457/inrt/build.gradle.kts#L93
|
// ! https://github.com/kkevsekk1/AutoX/blob/a6d482189291b460c3be60970b74c5321d26e457/inrt/build.gradle.kts#L93
|
||||||
// noinspection ChromeOsAbiSupport
|
// noinspection ChromeOsAbiSupport
|
||||||
@@ -566,7 +555,7 @@ android {
|
|||||||
// # packaging { ... }
|
// # packaging { ... }
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION")
|
||||||
packagingOptions {
|
packagingOptions {
|
||||||
arrayOf(
|
listOf(
|
||||||
"META-INF/DEPENDENCIES",
|
"META-INF/DEPENDENCIES",
|
||||||
"META-INF/LICENSE",
|
"META-INF/LICENSE",
|
||||||
"META-INF/LICENSE.*",
|
"META-INF/LICENSE.*",
|
||||||
@@ -584,7 +573,25 @@ android {
|
|||||||
"lib/armeabi/libc++_shared.so",
|
"lib/armeabi/libc++_shared.so",
|
||||||
).let { resources.pickFirsts.addAll(it) }
|
).let { resources.pickFirsts.addAll(it) }
|
||||||
|
|
||||||
|
listOf(
|
||||||
|
"com/**/*",
|
||||||
|
"frameworks/**/*",
|
||||||
|
"junit/**/*",
|
||||||
|
"LICENSE-junit.txt",
|
||||||
|
"spec.txt",
|
||||||
|
).let { resources.excludes.addAll(it) }
|
||||||
|
|
||||||
|
if (gradle.startParameter.taskNames.any { it.contains(flavorNameInrt, true) }) {
|
||||||
|
listOf(
|
||||||
|
"**/prob_emit.txt", // Jieba Analysis (zh-CN: 结巴分词)
|
||||||
|
"**/dict-chinese-*.db.gzip", // Jieba Analysis (zh-CN: 结巴分词)
|
||||||
|
).let { resources.excludes.addAll(it) }
|
||||||
|
}
|
||||||
|
|
||||||
jniLibs {
|
jniLibs {
|
||||||
|
// @Reference to kkevsekk1/AutoX (https://github.com/kkevsekk1/AutoX) by SuperMonster003 on Nov 16, 2023.
|
||||||
|
// ! https://github.com/kkevsekk1/AutoX/blob/a6d482189291b460c3be60970b74c5321d26e457/inrt/build.gradle.kts#L91
|
||||||
|
excludes += "*"
|
||||||
useLegacyPackaging = true
|
useLegacyPackaging = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -661,32 +668,36 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
applicationVariants.all {
|
applicationVariants.all {
|
||||||
mergeAssetsProvider
|
mergeAssetsProvider.configure {
|
||||||
.configure {
|
doLast {
|
||||||
doLast {
|
mapOf(
|
||||||
mapOf(
|
"dir" to outputDir,
|
||||||
"dir" to outputDir,
|
"includes" to when (variantName.startsWith(flavorNameInrt)) {
|
||||||
"includes" to when (variantName.startsWith(flavorNameInrt)) {
|
true -> listOf(
|
||||||
true -> listOf(
|
"mlkit-google-ocr-models/**/*",
|
||||||
"mlkit-google-ocr-models/**/*",
|
"mlkit_barcode_models/**/*",
|
||||||
"mlkit_barcode_models/**/*",
|
"models/**/*",
|
||||||
"models/**/*",
|
"modules/obsolete/**/*",
|
||||||
"openccdata/**/*",
|
"openccdata/**/*",
|
||||||
"project/**/*",
|
"project/**/*",
|
||||||
"android-devices.db",
|
"android-devices.db",
|
||||||
"autojs.keystore",
|
"autojs.keystore",
|
||||||
)
|
"**/prob_emit.txt", // Jieba Analysis (zh-CN: 结巴分词)
|
||||||
else -> listOf(
|
"**/dict-chinese-*.db.gzip", // Jieba Analysis (zh-CN: 结巴分词)
|
||||||
"declarations/**/*",
|
)
|
||||||
"sample/declarations/**/*",
|
else -> listOf(
|
||||||
)
|
"declarations/**/*",
|
||||||
},
|
"sample/declarations/**/*",
|
||||||
).let { delete(fileTree(it)) }
|
"modules/obsolete/**/*",
|
||||||
}
|
)
|
||||||
|
},
|
||||||
|
).let { delete(fileTree(it)) }
|
||||||
}
|
}
|
||||||
outputs
|
}
|
||||||
.map { it as BaseVariantOutputImpl }
|
|
||||||
.forEach { it.outputFileName = Utils.getOutputFileName(this@all as ApplicationVariantImpl, it) }
|
outputs.map { it as BaseVariantOutputImpl }.forEach {
|
||||||
|
it.outputFileName = Utils.getOutputFileName(this@all as ApplicationVariantImpl, it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
splits {
|
splits {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.reandroid.arsc.chunk.TableBlock
|
|||||||
import org.apache.commons.io.FileUtils.copyFile
|
import org.apache.commons.io.FileUtils.copyFile
|
||||||
import org.apache.commons.io.FileUtils.copyInputStreamToFile
|
import org.apache.commons.io.FileUtils.copyInputStreamToFile
|
||||||
import org.autojs.autojs.apkbuilder.keystore.AESUtils
|
import org.autojs.autojs.apkbuilder.keystore.AESUtils
|
||||||
|
import org.autojs.autojs.apkbuilder.keystore.KeyStore
|
||||||
import org.autojs.autojs.app.GlobalAppContext
|
import org.autojs.autojs.app.GlobalAppContext
|
||||||
import org.autojs.autojs.engine.encryption.AdvancedEncryptionStandard
|
import org.autojs.autojs.engine.encryption.AdvancedEncryptionStandard
|
||||||
import org.autojs.autojs.pio.PFiles
|
import org.autojs.autojs.pio.PFiles
|
||||||
@@ -20,7 +21,6 @@ import org.autojs.autojs.project.BuildInfo
|
|||||||
import org.autojs.autojs.project.ProjectConfig
|
import org.autojs.autojs.project.ProjectConfig
|
||||||
import org.autojs.autojs.script.EncryptedScriptFileHeader.writeHeader
|
import org.autojs.autojs.script.EncryptedScriptFileHeader.writeHeader
|
||||||
import org.autojs.autojs.script.JavaScriptFileSource
|
import org.autojs.autojs.script.JavaScriptFileSource
|
||||||
import org.autojs.autojs.apkbuilder.keystore.KeyStore
|
|
||||||
import org.autojs.autojs.util.FileUtils.TYPE.JAVASCRIPT
|
import org.autojs.autojs.util.FileUtils.TYPE.JAVASCRIPT
|
||||||
import org.autojs.autojs.util.MD5Utils
|
import org.autojs.autojs.util.MD5Utils
|
||||||
import org.autojs.autojs6.BuildConfig
|
import org.autojs.autojs6.BuildConfig
|
||||||
@@ -482,48 +482,48 @@ open class ApkBuilder(apkInputStream: InputStream?, private val outApkFile: File
|
|||||||
object Libs {
|
object Libs {
|
||||||
|
|
||||||
private val BASIC = listOf(
|
private val BASIC = listOf(
|
||||||
"libjackpal-androidterm5.so", /* Terminal Emulator. */
|
"libjackpal-androidterm5.so", /* Terminal Emulator. */
|
||||||
"libjackpal-termexec2.so", /* Terminal Emulator. */
|
"libjackpal-termexec2.so", /* Terminal Emulator. */
|
||||||
)
|
)
|
||||||
|
|
||||||
private val MISCELLANEOUS = emptyList<String>()
|
private val MISCELLANEOUS = emptyList<String>()
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val OPENCV = listOf(
|
val OPENCV = listOf(
|
||||||
"libc++_shared.so",
|
"libc++_shared.so",
|
||||||
"libopencv_java4.so",
|
"libopencv_java4.so",
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MLKIT_GOOGLE_OCR = listOf(
|
val MLKIT_GOOGLE_OCR = listOf(
|
||||||
"libmlkit_google_ocr_pipeline.so",
|
"libmlkit_google_ocr_pipeline.so",
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val PADDLE_LITE = listOf(
|
val PADDLE_LITE = listOf(
|
||||||
"libc++_shared.so",
|
"libc++_shared.so",
|
||||||
"libpaddle_light_api_shared.so",
|
"libpaddle_light_api_shared.so",
|
||||||
"libNative.so",
|
"libNative.so",
|
||||||
)
|
)
|
||||||
|
|
||||||
val PADDLE_LITE_EXT = listOf(
|
val PADDLE_LITE_EXT = listOf(
|
||||||
"libhiai.so",
|
"libhiai.so",
|
||||||
"libhiai_ir.so",
|
"libhiai_ir.so",
|
||||||
"libhiai_ir_build.so",
|
"libhiai_ir_build.so",
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MLKIT_BARCODE = emptyList<String>()
|
val MLKIT_BARCODE = emptyList<String>()
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val RAPID_OCR = listOf(
|
val RAPID_OCR = listOf(
|
||||||
"libRapidOcr.so",
|
"libRapidOcr.so",
|
||||||
)
|
)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val OPENCC = listOf(
|
val OPENCC = listOf(
|
||||||
"libChineseConverter.so",
|
"libChineseConverter.so",
|
||||||
)
|
)
|
||||||
|
|
||||||
val DEFALUT_INCLUDES: List<String> = (BASIC + MISCELLANEOUS).distinct()
|
val DEFALUT_INCLUDES: List<String> = (BASIC + MISCELLANEOUS).distinct()
|
||||||
|
|
||||||
@@ -560,23 +560,23 @@ open class ApkBuilder(apkInputStream: InputStream?, private val outApkFile: File
|
|||||||
|
|
||||||
private val MISCELLANEOUS = listOf("stored-locales")
|
private val MISCELLANEOUS = listOf("stored-locales")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val OPENCV = emptyList<String>()
|
val OPENCV = emptyList<String>()
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MLKIT_GOOGLE_OCR = listOf("mlkit-google-ocr-models")
|
val MLKIT_GOOGLE_OCR = listOf("mlkit-google-ocr-models")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val MLKIT_BARCODE = listOf("mlkit_barcode_models")
|
val MLKIT_BARCODE = listOf("mlkit_barcode_models")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val PADDLE_LITE = listOf("models")
|
val PADDLE_LITE = listOf("models")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val RAPID_OCR = listOf("labels")
|
val RAPID_OCR = listOf("labels")
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val OPENCC = listOf("openccdata")
|
val OPENCC = listOf("openccdata")
|
||||||
|
|
||||||
val DEFAULT_EXCLUDES = (BASIC + MLKIT_GOOGLE_OCR + MLKIT_BARCODE + PADDLE_LITE + RAPID_OCR + OPENCC + MISCELLANEOUS).distinct()
|
val DEFAULT_EXCLUDES = (BASIC + MLKIT_GOOGLE_OCR + MLKIT_BARCODE + PADDLE_LITE + RAPID_OCR + OPENCC + MISCELLANEOUS).distinct()
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package org.autojs.autojs.runtime.api.augment.util
|
package org.autojs.autojs.runtime.api.augment.util
|
||||||
|
|
||||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||||
import org.mozilla.javascript.NativeObject
|
|
||||||
|
|
||||||
object VersionCodesInfo {
|
object VersionCodesInfo {
|
||||||
|
|
||||||
// @UpTo Jun 3, 2024.
|
// @UpTo Jan 2, 2025.
|
||||||
private val raw = mutableMapOf(
|
private val raw = mutableMapOf(
|
||||||
"VANILLA_ICE_CREAM" to listOf("Android 15", "Vanilla Ice Cream", "15", "35", "Q4, 2024"),
|
"BAKLAVA" to listOf("Android 16", "Baklava", "16", "36", "Q2, 2025"),
|
||||||
|
"VANILLA_ICE_CREAM" to listOf("Android 15", "Vanilla Ice Cream", "15", "35", "September 3, 2024"),
|
||||||
"UPSIDE_DOWN_CAKE" to listOf("Android 14", "Upside Down Cake", "14", "34", "October 4, 2023"),
|
"UPSIDE_DOWN_CAKE" to listOf("Android 14", "Upside Down Cake", "14", "34", "October 4, 2023"),
|
||||||
"TIRAMISU" to listOf("Android 13", "Tiramisu", "13", "33", "August 15, 2022"),
|
"TIRAMISU" to listOf("Android 13", "Tiramisu", "13", "33", "August 15, 2022"),
|
||||||
"S_V2" to listOf("Android 12L", "Snow Cone v2", "12.1", "32", "March 7, 2022"),
|
"S_V2" to listOf("Android 12L", "Snow Cone v2", "12.1", "32", "March 7, 2022"),
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
|||||||
add(ApkBuilder.Constants.PADDLE_OCR);
|
add(ApkBuilder.Constants.PADDLE_OCR);
|
||||||
add(ApkBuilder.Constants.RAPID_OCR);
|
add(ApkBuilder.Constants.RAPID_OCR);
|
||||||
add(ApkBuilder.Constants.OPENCC);
|
add(ApkBuilder.Constants.OPENCC);
|
||||||
|
// add(ApkBuilder.Constants.PINYIN);
|
||||||
add(ApkBuilder.Constants.MLKIT_BARCODE);
|
add(ApkBuilder.Constants.MLKIT_BARCODE);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
@@ -117,6 +118,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
|||||||
put(ApkBuilder.Constants.PADDLE_OCR, List.of("paddle", "paddleocr", "paddle-ocr", "paddle_ocr"));
|
put(ApkBuilder.Constants.PADDLE_OCR, List.of("paddle", "paddleocr", "paddle-ocr", "paddle_ocr"));
|
||||||
put(ApkBuilder.Constants.RAPID_OCR, List.of("rapid", "rapidocr", "rapid-ocr", "rapid_ocr"));
|
put(ApkBuilder.Constants.RAPID_OCR, List.of("rapid", "rapidocr", "rapid-ocr", "rapid_ocr"));
|
||||||
put(ApkBuilder.Constants.OPENCC, List.of("cc"));
|
put(ApkBuilder.Constants.OPENCC, List.of("cc"));
|
||||||
|
// put(ApkBuilder.Constants.PINYIN, List.of("pin"));
|
||||||
put(ApkBuilder.Constants.MLKIT_BARCODE, List.of("barcode", "mlkit-barcode", "mlkit_barcode"));
|
put(ApkBuilder.Constants.MLKIT_BARCODE, List.of("barcode", "mlkit-barcode", "mlkit_barcode"));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class JiebaSegmenter(context: Context) {
|
|||||||
|
|
||||||
val dictionary by lazy { WordDictionary.getInstance(context) }
|
val dictionary by lazy { WordDictionary.getInstance(context) }
|
||||||
|
|
||||||
private val finalSeg = FinalSeg.instance
|
private val finalSeg by lazy { FinalSeg.instance }
|
||||||
|
|
||||||
enum class SegMode { INDEX, SEARCH }
|
enum class SegMode { INDEX, SEARCH }
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import android.content.Context
|
|||||||
|
|
||||||
open class WordDictionaryDatabase private constructor(context: Context): DictionaryDatabase(context) {
|
open class WordDictionaryDatabase private constructor(context: Context): DictionaryDatabase(context) {
|
||||||
|
|
||||||
override val databaseName = "dict.db"
|
override val databaseName = "dict-chinese-words.db"
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
#Wed Jan 01 17:14:34 CST 2025
|
#Thu Jan 02 18:05:40 CST 2025
|
||||||
BUILD_TIME=1735722874442
|
BUILD_TIME=1735812340458
|
||||||
COMPILE_SDK_VERSION=34
|
COMPILE_SDK_VERSION=34
|
||||||
JAVA_VERSION=23
|
JAVA_VERSION=23
|
||||||
JAVA_VERSION_MIN_RADICAL=0
|
JAVA_VERSION_MIN_RADICAL=0
|
||||||
@@ -17,6 +17,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13
|
|||||||
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
|
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
|
||||||
TARGET_SDK_VERSION=34
|
TARGET_SDK_VERSION=34
|
||||||
TARGET_SDK_VERSION_INRT=29
|
TARGET_SDK_VERSION_INRT=29
|
||||||
VERSION_BUILD=2940
|
VERSION_BUILD=2944
|
||||||
VERSION_NAME=6.6.1
|
VERSION_NAME=6.6.2 Alpha
|
||||||
VSCODE_EXT_REQUIRED_VERSION=1.0.8
|
VSCODE_EXT_REQUIRED_VERSION=1.0.8
|
||||||
|
|||||||
Reference in New Issue
Block a user