Revert "feat: can set packageName of apk building"

This reverts commit df838f7e5d.
This commit is contained in:
hyb1996 2017-12-08 17:32:38 +08:00
parent 1ea8b34f01
commit 18bab90f68
7 changed files with 17 additions and 63 deletions

View File

@ -2,8 +2,8 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Auto.js.iml" filepath="$PROJECT_DIR$/Auto.js.iml" />
<module fileurl="file://E:\YiBin\AndroidStudioProjects\NoRootScriptDroid\Auto.js.iml" filepath="E:\YiBin\AndroidStudioProjects\NoRootScriptDroid\Auto.js.iml" />
<module fileurl="file://$PROJECT_DIR$/NoRootScriptDroid.iml" filepath="$PROJECT_DIR$/NoRootScriptDroid.iml" />
<module fileurl="file://C:\Users\Stardust\Documents\AndroidProjects\Auto.js\NoRootScriptDroid.iml" filepath="C:\Users\Stardust\Documents\AndroidProjects\Auto.js\NoRootScriptDroid.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/autojs/autojs.iml" filepath="$PROJECT_DIR$/autojs/autojs.iml" />

View File

@ -101,7 +101,8 @@ dependencies {
compile 'org.apache.commons:commons-lang3:3.6'
compile 'com.thoughtbot:expandablerecyclerview:1.3'
compile('com.github.hyb1996:FloatingCircularActionMenu:0.0.4')
compile 'com.github.hyb1996:Auto.js-ApkBuilder:1.0.1'
compile(name: 'apkbuilder-release', ext: 'aar')
// RxJava
compile "io.reactivex.rxjava2:rxjava:2.1.2"
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

Binary file not shown.

View File

@ -1,15 +1,11 @@
package com.stardust.scriptdroid.autojs.build;
import com.stardust.autojs.apkbuilder.ApkBuilder;
import com.stardust.autojs.apkbuilder.ManifestEditor;
import com.stardust.autojs.apkbuilder.util.StreamUtils;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.ui.build.BuildActivity;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@ -36,10 +32,8 @@ public class AutoJsApkBuilder extends ApkBuilder {
String versionName;
int versionCode;
String jsPath;
String packageName;
public AppConfig(String packageName, String appName, String versionName, int versionCode, String jsPath) {
this.packageName = packageName;
public AppConfig(String appName, String versionName, int versionCode, String jsPath) {
this.appName = appName;
this.versionName = versionName;
this.versionCode = versionCode;
@ -48,17 +42,13 @@ public class AutoJsApkBuilder extends ApkBuilder {
}
private ProgressCallback mProgressCallback;
private ManifestEditor mManifestEditor;
private String mWorkspacePath;
public AutoJsApkBuilder(InputStream apkInputStream, File outApkFile, String workspacePath) {
super(apkInputStream, outApkFile, workspacePath);
mWorkspacePath = workspacePath;
}
public AutoJsApkBuilder(File inFile, File outFile, String workspacePath) throws FileNotFoundException {
super(inFile, outFile, workspacePath);
mWorkspacePath = workspacePath;
}
public AutoJsApkBuilder setProgressCallback(ProgressCallback callback) {
@ -79,18 +69,11 @@ public class AutoJsApkBuilder extends ApkBuilder {
return this;
}
@Override
public ApkBuilder replaceFile(String relativePath, String newFilePath) throws IOException {
StreamUtils.write(new FileInputStream(newFilePath), new FileOutputStream(new File(this.mWorkspacePath, relativePath)));
return this;
}
public AutoJsApkBuilder withConfig(AppConfig config) throws IOException {
mManifestEditor = editManifest().setAppName(config.appName)
editManifest().setAppName(config.appName)
.setVersionName(config.versionName)
.setVersionCode(config.versionCode)
.setPackageName(config.packageName);
setArscPackageName(config.packageName);
.commit();
setScriptFile(config.jsPath);
return this;
}
@ -100,8 +83,6 @@ public class AutoJsApkBuilder extends ApkBuilder {
if (mProgressCallback != null) {
App.getApp().getUiHandler().post(() -> mProgressCallback.onBuild(AutoJsApkBuilder.this));
}
mManifestEditor.commit();
mManifestEditor = null;
return (AutoJsApkBuilder) super.build();
}

View File

@ -1,17 +1,17 @@
package com.stardust.scriptdroid.ui.build;
import android.content.Intent;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.text.TextUtils;
import android.support.annotation.NonNull;
import android.util.Log;
import android.widget.EditText;
import android.widget.Toast;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.build.AutoJsApkBuilder;
import com.stardust.scriptdroid.build.ApkBuilderPluginHelper;
import com.stardust.scriptdroid.network.download.DownloadManager;
import com.stardust.scriptdroid.storage.file.StorageFileProvider;
import com.stardust.scriptdroid.model.script.ScriptFile;
import com.stardust.scriptdroid.ui.BaseActivity;
@ -42,22 +42,22 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
private static final String LOG_TAG = "BuildActivity";
@ViewById(R.id.source_path)
TextInputEditText mSourcePath;
EditText mSourcePath;
@ViewById(R.id.output_path)
TextInputEditText mOutputPath;
EditText mOutputPath;
@ViewById(R.id.app_name)
TextInputEditText mAppName;
EditText mAppName;
@ViewById(R.id.package_name)
TextInputEditText mPackageName;
EditText mPackageName;
@ViewById(R.id.version_name)
TextInputEditText mVersionName;
EditText mVersionName;
@ViewById(R.id.version_code)
TextInputEditText mVersionCode;
EditText mVersionCode;
private MaterialDialog mProgressDialog;
@AfterViews
@ -68,6 +68,7 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
setupWithSourceFile(new ScriptFile(sourcePath));
}
showPluginDownloadDialogIfNeeded();
}
private void showPluginDownloadDialogIfNeeded() {
@ -92,7 +93,6 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
mSourcePath.setText(file.getPath());
mOutputPath.setText(file.getParent());
mAppName.setText(file.getSimplifiedName());
mPackageName.setText(getString(R.string.format_default_package_name, System.currentTimeMillis()));
}
@Override
@ -131,39 +131,14 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
Toast.makeText(this, R.string.text_apk_builder_plugin_unavailable, Toast.LENGTH_SHORT).show();
return;
}
if (!checkInputs()) {
return;
}
doBuildingApk();
}
private boolean checkInputs() {
boolean inputValid = true;
inputValid &= checkNotEmpty(mSourcePath);
inputValid &= checkNotEmpty(mOutputPath);
inputValid &= checkNotEmpty(mAppName);
inputValid &= checkNotEmpty(mSourcePath);
inputValid &= checkNotEmpty(mVersionCode);
inputValid &= checkNotEmpty(mVersionName);
inputValid &= checkNotEmpty(mPackageName);
return inputValid;
}
private boolean checkNotEmpty(TextInputEditText editText) {
if (!TextUtils.isEmpty(editText.getText()))
return true;
// TODO: 2017/12/8 more beautiful ways?
String hint = ((TextInputLayout) editText.getParent().getParent()).getHint().toString();
editText.setError(hint + getString(R.string.text_should_not_be_empty));
return false;
}
private void doBuildingApk() {
String jsPath = mSourcePath.getText().toString();
String versionName = mVersionName.getText().toString();
int versionCode = Integer.parseInt(mVersionCode.getText().toString());
String appName = mAppName.getText().toString();
String packageName = mPackageName.getText().toString();
File tmpDir = new File(getCacheDir(), "build/");
File outApk = new File(mOutputPath.getText().toString(),
String.format("%s_v%s.apk", appName, versionName));
@ -173,7 +148,7 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
return new AutoJsApkBuilder(templateApk, outApk, tmpDir.getPath())
.setProgressCallback(BuildActivity.this)
.prepare()
.withConfig(new AutoJsApkBuilder.AppConfig(packageName, appName, versionName, versionCode, jsPath))
.withConfig(new AutoJsApkBuilder.AppConfig(appName, versionName, versionCode, jsPath))
.build()
.sign()
.cleanWorkspace();

View File

@ -158,7 +158,6 @@
android:id="@+id/package_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_."
android:hint="@string/text_package_name"/>
</android.support.design.widget.TextInputLayout>

View File

@ -328,6 +328,4 @@
<string name="text_open">打开</string>
<string name="text_generated_code">生成结果</string>
<string name="text_copy">复制</string>
<string name="format_default_package_name" formatted="true">com.example.script%d</string>
<string name="text_should_not_be_empty">不能为空</string>
</resources>