From 8eb29d96247fed034471a5907cf8cefc715ebacc Mon Sep 17 00:00:00 2001 From: Ai <132525856+LZX284@users.noreply.github.com> Date: Sun, 8 Oct 2023 13:16:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=96=E7=BD=AE=E6=89=93?= =?UTF-8?q?=E5=8C=85=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为了彻底解决安装包体积问题,不再使用将打包模板内置到assets的方法,而是打包界面新增一个模板apk选择按钮,只要将编译好的打包模板和app一起发布就行了。另外由于时间关系,新增的资源字符串只提供了中文版,其它语言需要麻烦作者自己再处理一下 --- .../autojs/ui/project/BuildActivity.java | 23 +++++++++++++++ app/src/main/res/layout/activity_build.xml | 29 +++++++++++++++++++ app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 4 files changed, 54 insertions(+) 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 5779ff94..d2bd33ba 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 @@ -6,6 +6,7 @@ import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.os.Environment; import android.text.Editable; import android.text.TextUtils; import android.util.Log; @@ -61,6 +62,8 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa private static final String LOG_TAG = "BuildActivity"; private static final Pattern REGEX_PACKAGE_NAME = Pattern.compile("^([A-Za-z][A-Za-z\\d_]*\\.)+([A-Za-z][A-Za-z\\d_]*)$"); EditText mSourcePath; + EditText mTemplatePath; + View mTemplatePathContainer; View mSourcePathContainer; EditText mOutputPath; EditText mAppName; @@ -85,6 +88,8 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa mSourcePath = binding.sourcePath; mSourcePathContainer = binding.sourcePathContainer; + mTemplatePathContainer = binding.templatePathContainer; + mTemplatePath=binding.templatePath; mOutputPath = binding.outputPath; mAppName = binding.appName; mPackageName = binding.packageName; @@ -96,6 +101,9 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa binding.fab.setOnClickListener(v -> buildApk()); binding.selectSource.setOnClickListener(v -> selectSourceFilePath()); binding.selectOutput.setOnClickListener(v -> selectOutputDirPath()); + binding.selectTemplate.setOnClickListener( + v -> selectTemplateFilePath() + ); mIcon.setOnClickListener(v -> selectIcon()); setToolbarAsBack(R.string.text_build_apk); @@ -175,6 +183,21 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa super.onNewIntent(intent); } + void selectTemplateFilePath() { + new FileChooserDialogBuilder(this) + .title(R.string.text_template_apk_path) + .dir(Environment.getExternalStorageDirectory().getPath(), Environment.getExternalStorageDirectory().getPath()) + .singleChoice(this::setTemplate) + .show(); + + } + + private void setTemplate(File file) { + if (file.getName().toLowerCase().startsWith("inrt") && file.getName().toLowerCase().endsWith(".apk") && file.isFile()) { + mTemplatePath.setText(file.getPath()); + } + } + void selectSourceFilePath() { String initialDir = new File(mSourcePath.getText().toString()).getParent(); new FileChooserDialogBuilder(this) diff --git a/app/src/main/res/layout/activity_build.xml b/app/src/main/res/layout/activity_build.xml index 0928d222..ddcc0e47 100644 --- a/app/src/main/res/layout/activity_build.xml +++ b/app/src/main/res/layout/activity_build.xml @@ -57,6 +57,35 @@ android:textAppearance="@style/TextAppearance.AppCompat.Body2" android:textColor="?android:textColorSecondary" /> + + + + + + + + + + + 快捷方式可以在 AutoJs6 中执行特定操作, 用户可以在启动器中显示这些快捷方式, 并快速开始某些任务或启动某个活动, 如阅读 AutoJs6 应用文档, 启动 AutoJs6 设置页面等. 添加快捷方式到启动器 将快捷方式固定到启动器不被支持 + 模板apk路径 共计: %d 项 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3494b34c..a8cede51 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -907,6 +907,7 @@ Shortcuts can perform specific actions in AutoJs6. Users can display these shortcuts in a supported launcher and quickly start some tasks or launch an activity, such as reading AutoJs6 application documentation, launching AutoJs6 settings page, and so on. Add shortcuts to launcher Pinning shortcuts to launcher is not supported + 模板apk路径 Total: %d item