6.6.2 - Alpha - 精简打包应用模板 APK 文件大小
This commit is contained in:
@@ -433,8 +433,10 @@ android {
|
||||
compileSdk = versions.sdkVersionCompile
|
||||
versionCode = versions.appVersionCode
|
||||
versionName = versions.appVersionName
|
||||
|
||||
buildConfigField("String", "CHANNEL", "\"$flavorNameInrt\"")
|
||||
buildConfigField("boolean", "is${flavorNameInrt.uppercaseFirstChar()}", "true")
|
||||
|
||||
manifestPlaceholders.putAll(
|
||||
mapOf(
|
||||
"CHANNEL" to flavorNameInrt,
|
||||
@@ -445,20 +447,7 @@ android {
|
||||
"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.
|
||||
// ! https://github.com/kkevsekk1/AutoX/blob/a6d482189291b460c3be60970b74c5321d26e457/inrt/build.gradle.kts#L93
|
||||
// noinspection ChromeOsAbiSupport
|
||||
@@ -566,7 +555,7 @@ android {
|
||||
// # packaging { ... }
|
||||
@Suppress("DEPRECATION")
|
||||
packagingOptions {
|
||||
arrayOf(
|
||||
listOf(
|
||||
"META-INF/DEPENDENCIES",
|
||||
"META-INF/LICENSE",
|
||||
"META-INF/LICENSE.*",
|
||||
@@ -584,7 +573,25 @@ android {
|
||||
"lib/armeabi/libc++_shared.so",
|
||||
).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 {
|
||||
// @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
|
||||
}
|
||||
}
|
||||
@@ -661,32 +668,36 @@ android {
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
mergeAssetsProvider
|
||||
.configure {
|
||||
doLast {
|
||||
mapOf(
|
||||
"dir" to outputDir,
|
||||
"includes" to when (variantName.startsWith(flavorNameInrt)) {
|
||||
true -> listOf(
|
||||
"mlkit-google-ocr-models/**/*",
|
||||
"mlkit_barcode_models/**/*",
|
||||
"models/**/*",
|
||||
"openccdata/**/*",
|
||||
"project/**/*",
|
||||
"android-devices.db",
|
||||
"autojs.keystore",
|
||||
)
|
||||
else -> listOf(
|
||||
"declarations/**/*",
|
||||
"sample/declarations/**/*",
|
||||
)
|
||||
},
|
||||
).let { delete(fileTree(it)) }
|
||||
}
|
||||
mergeAssetsProvider.configure {
|
||||
doLast {
|
||||
mapOf(
|
||||
"dir" to outputDir,
|
||||
"includes" to when (variantName.startsWith(flavorNameInrt)) {
|
||||
true -> listOf(
|
||||
"mlkit-google-ocr-models/**/*",
|
||||
"mlkit_barcode_models/**/*",
|
||||
"models/**/*",
|
||||
"modules/obsolete/**/*",
|
||||
"openccdata/**/*",
|
||||
"project/**/*",
|
||||
"android-devices.db",
|
||||
"autojs.keystore",
|
||||
"**/prob_emit.txt", // Jieba Analysis (zh-CN: 结巴分词)
|
||||
"**/dict-chinese-*.db.gzip", // Jieba Analysis (zh-CN: 结巴分词)
|
||||
)
|
||||
else -> listOf(
|
||||
"declarations/**/*",
|
||||
"sample/declarations/**/*",
|
||||
"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 {
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.reandroid.arsc.chunk.TableBlock
|
||||
import org.apache.commons.io.FileUtils.copyFile
|
||||
import org.apache.commons.io.FileUtils.copyInputStreamToFile
|
||||
import org.autojs.autojs.apkbuilder.keystore.AESUtils
|
||||
import org.autojs.autojs.apkbuilder.keystore.KeyStore
|
||||
import org.autojs.autojs.app.GlobalAppContext
|
||||
import org.autojs.autojs.engine.encryption.AdvancedEncryptionStandard
|
||||
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.script.EncryptedScriptFileHeader.writeHeader
|
||||
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.MD5Utils
|
||||
import org.autojs.autojs6.BuildConfig
|
||||
@@ -482,48 +482,48 @@ open class ApkBuilder(apkInputStream: InputStream?, private val outApkFile: File
|
||||
object Libs {
|
||||
|
||||
private val BASIC = listOf(
|
||||
"libjackpal-androidterm5.so", /* Terminal Emulator. */
|
||||
"libjackpal-termexec2.so", /* Terminal Emulator. */
|
||||
)
|
||||
"libjackpal-androidterm5.so", /* Terminal Emulator. */
|
||||
"libjackpal-termexec2.so", /* Terminal Emulator. */
|
||||
)
|
||||
|
||||
private val MISCELLANEOUS = emptyList<String>()
|
||||
|
||||
@JvmField
|
||||
val OPENCV = listOf(
|
||||
"libc++_shared.so",
|
||||
"libopencv_java4.so",
|
||||
)
|
||||
@JvmField
|
||||
val OPENCV = listOf(
|
||||
"libc++_shared.so",
|
||||
"libopencv_java4.so",
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val MLKIT_GOOGLE_OCR = listOf(
|
||||
"libmlkit_google_ocr_pipeline.so",
|
||||
)
|
||||
@JvmField
|
||||
val MLKIT_GOOGLE_OCR = listOf(
|
||||
"libmlkit_google_ocr_pipeline.so",
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val PADDLE_LITE = listOf(
|
||||
"libc++_shared.so",
|
||||
"libpaddle_light_api_shared.so",
|
||||
"libNative.so",
|
||||
)
|
||||
@JvmField
|
||||
val PADDLE_LITE = listOf(
|
||||
"libc++_shared.so",
|
||||
"libpaddle_light_api_shared.so",
|
||||
"libNative.so",
|
||||
)
|
||||
|
||||
val PADDLE_LITE_EXT = listOf(
|
||||
"libhiai.so",
|
||||
"libhiai_ir.so",
|
||||
"libhiai_ir_build.so",
|
||||
)
|
||||
val PADDLE_LITE_EXT = listOf(
|
||||
"libhiai.so",
|
||||
"libhiai_ir.so",
|
||||
"libhiai_ir_build.so",
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val MLKIT_BARCODE = emptyList<String>()
|
||||
@JvmField
|
||||
val MLKIT_BARCODE = emptyList<String>()
|
||||
|
||||
@JvmField
|
||||
val RAPID_OCR = listOf(
|
||||
"libRapidOcr.so",
|
||||
)
|
||||
@JvmField
|
||||
val RAPID_OCR = listOf(
|
||||
"libRapidOcr.so",
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val OPENCC = listOf(
|
||||
"libChineseConverter.so",
|
||||
)
|
||||
@JvmField
|
||||
val OPENCC = listOf(
|
||||
"libChineseConverter.so",
|
||||
)
|
||||
|
||||
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")
|
||||
|
||||
@JvmField
|
||||
val OPENCV = emptyList<String>()
|
||||
@JvmField
|
||||
val OPENCV = emptyList<String>()
|
||||
|
||||
@JvmField
|
||||
val MLKIT_GOOGLE_OCR = listOf("mlkit-google-ocr-models")
|
||||
@JvmField
|
||||
val MLKIT_GOOGLE_OCR = listOf("mlkit-google-ocr-models")
|
||||
|
||||
@JvmField
|
||||
val MLKIT_BARCODE = listOf("mlkit_barcode_models")
|
||||
@JvmField
|
||||
val MLKIT_BARCODE = listOf("mlkit_barcode_models")
|
||||
|
||||
@JvmField
|
||||
val PADDLE_LITE = listOf("models")
|
||||
@JvmField
|
||||
val PADDLE_LITE = listOf("models")
|
||||
|
||||
@JvmField
|
||||
val RAPID_OCR = listOf("labels")
|
||||
@JvmField
|
||||
val RAPID_OCR = listOf("labels")
|
||||
|
||||
@JvmField
|
||||
val OPENCC = listOf("openccdata")
|
||||
@JvmField
|
||||
val OPENCC = listOf("openccdata")
|
||||
|
||||
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
|
||||
|
||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||
import org.mozilla.javascript.NativeObject
|
||||
|
||||
object VersionCodesInfo {
|
||||
|
||||
// @UpTo Jun 3, 2024.
|
||||
// @UpTo Jan 2, 2025.
|
||||
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"),
|
||||
"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"),
|
||||
|
||||
@@ -108,6 +108,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
||||
add(ApkBuilder.Constants.PADDLE_OCR);
|
||||
add(ApkBuilder.Constants.RAPID_OCR);
|
||||
add(ApkBuilder.Constants.OPENCC);
|
||||
// add(ApkBuilder.Constants.PINYIN);
|
||||
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.RAPID_OCR, List.of("rapid", "rapidocr", "rapid-ocr", "rapid_ocr"));
|
||||
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"));
|
||||
}};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user