From be94c0022b8e25013a24f65c18a6bc1551e12649 Mon Sep 17 00:00:00 2001 From: Ai <132525856+LZX284@users.noreply.github.com> Date: Thu, 20 Jul 2023 22:20:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E4=B8=A4=E7=A7=8D=E6=89=93?= =?UTF-8?q?=E5=8C=85=E6=96=B9=E5=BC=8F=EF=BC=8C=E4=BC=98=E5=85=88=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=86=85=E7=BD=AE=E4=BA=8Eassets=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E6=89=93=E5=8C=85=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 不确定Autojs6究竟需要哪种打包方式,内置方式还是插件方式好?所以,在代码层面作了兼容。 --- .../autojs/ui/project/BuildActivity.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/ui/project/BuildActivity.java b/app/src/main/java/org/autojs/autojs/ui/project/BuildActivity.java index 1d238169..d08a4e4c 100644 --- a/app/src/main/java/org/autojs/autojs/ui/project/BuildActivity.java +++ b/app/src/main/java/org/autojs/autojs/ui/project/BuildActivity.java @@ -34,7 +34,9 @@ import org.autojs.autojs6.R; import org.autojs.autojs6.databinding.ActivityBuildBinding; import java.io.File; +import java.io.IOException; import java.io.InputStream; +import java.util.Arrays; import java.util.Objects; import java.util.regex.Pattern; @@ -68,6 +70,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa private MaterialDialog mProgressDialog; private String mSource; private boolean mIsDefaultIcon = true; + private boolean mIsApkTemplateInAssets = false; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -96,7 +99,21 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa if (mSource != null) { setupWithSourceFile(new ScriptFile(mSource)); } - checkApkBuilderPlugin(); + mIsApkTemplateInAssets = checkApkTemplateInAssets(); + if (!mIsApkTemplateInAssets) { + checkApkBuilderPlugin(); + } + } + + private boolean checkApkTemplateInAssets() { + try { + if (Arrays.asList(getAssets().list("")).contains("template.apk")) { + return true; + } + } catch (IOException e) { + Log.e(LOG_TAG, e.getMessage()); + } + return false; } private void checkApkBuilderPlugin() { @@ -182,7 +199,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa } void buildApk() { - if (!ApkBuilderPluginHelper.isPluginAvailable(this)) { + if (!mIsApkTemplateInAssets && !ApkBuilderPluginHelper.isPluginAvailable(this)) { ViewUtils.showToast(this, R.string.text_apk_builder_plugin_unavailable); return; } @@ -260,7 +277,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa } private ApkBuilder callApkBuilder(File tmpDir, File outApk, ApkBuilder.AppConfig appConfig) throws Exception { - InputStream templateApk = ApkBuilderPluginHelper.openTemplateApk(BuildActivity.this); + InputStream templateApk = mIsApkTemplateInAssets ? getAssets().open("template.apk") : ApkBuilderPluginHelper.openTemplateApk(BuildActivity.this); return new ApkBuilder(templateApk, outApk, tmpDir.getPath()) .setProgressCallback(BuildActivity.this) .prepare()