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 d2bd33ba..799d104d 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 @@ -79,6 +79,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa private boolean mIsDefaultIcon = true; private boolean mIsApkTemplateInAssets = false; + @SuppressLint("SetTextI18n") @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -89,7 +90,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa mSourcePath = binding.sourcePath; mSourcePathContainer = binding.sourcePathContainer; mTemplatePathContainer = binding.templatePathContainer; - mTemplatePath=binding.templatePath; + mTemplatePath = binding.templatePath; mOutputPath = binding.outputPath; mAppName = binding.appName; mPackageName = binding.packageName; @@ -112,8 +113,8 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa setupWithSourceFile(new ScriptFile(mSource)); } mIsApkTemplateInAssets = checkApkTemplateInAssets(); - if (!mIsApkTemplateInAssets) { - checkApkBuilderPlugin(); + if (mIsApkTemplateInAssets) { + mTemplatePath.setText("file:///android_asset/template.apk"); } } @@ -239,8 +240,9 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa } void buildApk() { - if (!mIsApkTemplateInAssets && !ApkBuilderPluginHelper.isPluginAvailable(this)) { + if (mTemplatePath.getText() == null && !ApkBuilderPluginHelper.isPluginAvailable(this)) { ViewUtils.showToast(this, R.string.text_apk_builder_plugin_unavailable); + showPluginDownloadDialog(); return; } if (!checkInputs()) { @@ -317,9 +319,7 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa } private ApkBuilder callApkBuilder(File tmpDir, File outApk, ApkBuilder.AppConfig appConfig) throws Exception { - InputStream templateApk = mIsApkTemplateInAssets - ? getAssets().open(TEMPLATE_APK_PATH) - : ApkBuilderPluginHelper.openTemplateApk(BuildActivity.this); + InputStream templateApk = mTemplatePath.getText() != null ? (mTemplatePath.getText().toString().equals("file:///android_asset/template.apk") ? getAssets().open("template.apk") : new java.io.FileInputStream(mTemplatePath.getText().toString())) : ApkBuilderPluginHelper.openTemplateApk(BuildActivity.this); return new ApkBuilder(templateApk, outApk, tmpDir.getPath()) .setProgressCallback(BuildActivity.this) .prepare()