diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index f1f23d22..bd586ccc 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/build.gradle b/app/build.gradle index 2c36f9fe..469cf22f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,9 +24,6 @@ android { versionName versions.appVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true - ndk { - abiFilters 'armeabi-v7a', 'x86' - } } buildTypes { debug { @@ -49,34 +46,40 @@ android { disable 'MissingTranslation' disable 'ExtraTranslation' } - android.applicationVariants.all { variant -> - variant.outputs.all { - outputFileName = "${variant.name}-${variant.versionName}.apk" - } - } configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1' } flavorDimensions "channel" + splits { + // Configures multiple APKs based on ABI. + abi { + + // Enables building multiple APKs per ABI. + enable true + + // By default all ABIs are included, so use reset() and include to specify that we only + // want APKs for x86 and x86_64. + + // Resets the list of ABIs that Gradle should create APKs for to none. + reset() + + // Specifies a list of ABIs that Gradle should create APKs for. + include "x86", "armeabi-v7a" + + // Specifies that we do not want to also generate a universal APK that includes all ABIs. + universalApk false + } + } productFlavors { common { buildConfigField "String", "CHANNEL", '"common"' - ndk { - abiFilters "armeabi-v7a" - } } coolapk { buildConfigField "String", "CHANNEL", '"coolapk"' } - x86 { - buildConfigField "String", "CHANNEL", '"common"' - ndk { - abiFilters "x86" - } - } } } diff --git a/app/release/output.json b/app/release/output.json index 605644dc..9c9de02a 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":253,"versionName":"4.1.0 Alpha3","enabled":true,"outputFile":"inrt-release.apk","fullName":"release","baseName":"release"},"path":"inrt-release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkInfo":{"type":"FULL_SPLIT","splits":[{"filterType":"ABI","value":"armeabi-v7a"}],"versionCode":261,"versionName":"4.1.1 Alpha2","enabled":true,"filterName":"armeabi-v7a","outputFile":"inrt-armeabi-v7a-release.apk","fullName":"armeabi-v7aRelease","baseName":"armeabi-v7a-release"},"path":"inrt-armeabi-v7a-release.apk","properties":{}},{"outputType":{"type":"APK"},"apkInfo":{"type":"FULL_SPLIT","splits":[{"filterType":"ABI","value":"x86"}],"versionCode":261,"versionName":"4.1.1 Alpha2","enabled":true,"filterName":"x86","outputFile":"inrt-x86-release.apk","fullName":"x86Release","baseName":"x86-release"},"path":"inrt-x86-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/ui/edit/EditActivity.java b/app/src/main/java/org/autojs/autojs/ui/edit/EditActivity.java index 6690e0eb..b1f85f37 100644 --- a/app/src/main/java/org/autojs/autojs/ui/edit/EditActivity.java +++ b/app/src/main/java/org/autojs/autojs/ui/edit/EditActivity.java @@ -210,7 +210,7 @@ public class EditActivity extends BaseActivity implements OnActivityResultDelega if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { finishAndRemoveTask(); } else { - finish(); + super.finish(); } if (mNewTask) { startActivity(new Intent(this, MainActivity_.class)); diff --git a/coolapk/release/output.json b/coolapk/release/output.json deleted file mode 100644 index 9585b1c7..00000000 --- a/coolapk/release/output.json +++ /dev/null @@ -1 +0,0 @@ -[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":256},"path":"coolapkRelease-3.1.0 Beta.apk","properties":{"packageId":"org.autojs.autojs","split":"","minSdkVersion":"17"}}] \ No newline at end of file diff --git a/inrt/build.gradle b/inrt/build.gradle index fee72d65..3d8319ac 100644 --- a/inrt/build.gradle +++ b/inrt/build.gradle @@ -14,10 +14,6 @@ android { versionName versions.appVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true - ndk { - abiFilters 'armeabi-v7a' - } - } lintOptions { disable 'MissingTranslation' @@ -27,6 +23,27 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + splits { + + // Configures multiple APKs based on ABI. + abi { + + // Enables building multiple APKs per ABI. + enable true + + // By default all ABIs are included, so use reset() and include to specify that we only + // want APKs for x86 and x86_64. + + // Resets the list of ABIs that Gradle should create APKs for to none. + reset() + + // Specifies a list of ABIs that Gradle should create APKs for. + include "x86", "armeabi-v7a" + + // Specifies that we do not want to also generate a universal APK that includes all ABIs. + universalApk false + } + } buildTypes { debug { minifyEnabled false @@ -39,30 +56,37 @@ android { } } +def buildApkPluginForAbi(File pluginProjectDir, String abi) { + copy { + from file('..\\app\\release\\') + into new File(pluginProjectDir, 'app\\src\\main\\assets') + def fileName = "inrt-" + abi + "-release.apk" + include fileName + rename fileName, 'template.apk' + } + exec { + workingDir pluginProjectDir + commandLine 'gradlew.bat', 'assembleRelease' + } + copy { + from new File(pluginProjectDir, 'app\\build\\outputs\\apk\\release') + into file('..\\common\\release') + def fileName = '打包插件-' + versions.appVersionName + '-release.apk' + include fileName + rename fileName, '打包插件-' + abi + '-' + versions.appVersionName + '-release.apk' + } +} task buildApkPlugin { doLast { def pluginProjectDirPath = '..\\..\\AutoJsApkBuilderPlugin' def pluginProjectDir = file(pluginProjectDirPath) - if(!pluginProjectDir.exists() || !pluginProjectDir.isDirectory()){ + if (!pluginProjectDir.exists() || !pluginProjectDir.isDirectory()) { println 'pluginProjectDir not exists' return } - copy { - from file('build\\outputs\\apk\\release\\') - into new File(pluginProjectDir, 'app\\src\\main\\assets') - include "inrt-release-unsigned.apk" - rename "inrt-release-unsigned.apk", 'template.apk' - } - exec { - workingDir pluginProjectDir - commandLine 'gradlew.bat', 'assembleRelease' - } - copy { - from new File(pluginProjectDir, 'app\\build\\outputs\\apk\\release') - into file('..\\common\\release') - include '*-release.apk' - } + buildApkPluginForAbi(pluginProjectDir, 'armeabi-v7a') + buildApkPluginForAbi(pluginProjectDir, 'x86') } } diff --git a/project-versions.json b/project-versions.json index 51dc8205..ce36fa6c 100644 --- a/project-versions.json +++ b/project-versions.json @@ -1,6 +1,6 @@ { - "appVersionCode": 460, - "appVersionName": "4.1.1 Alpha", + "appVersionCode": 461, + "appVersionName": "4.1.1 Alpha2", "target": 28, "mini": 17, "compile": 28,