兼容内置打包方式

This commit is contained in:
Ai
2023-10-08 20:19:06 +08:00
committed by SuperMonster003
parent 8eb29d9624
commit 225cd59ea3

View File

@@ -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()