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

2
.idea/modules.xml generated
View File

@@ -2,8 +2,8 @@
<project version="4"> <project version="4">
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <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://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://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$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/autojs/autojs.iml" filepath="$PROJECT_DIR$/autojs/autojs.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 'org.apache.commons:commons-lang3:3.6'
compile 'com.thoughtbot:expandablerecyclerview:1.3' compile 'com.thoughtbot:expandablerecyclerview:1.3'
compile('com.github.hyb1996:FloatingCircularActionMenu:0.0.4') 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 // RxJava
compile "io.reactivex.rxjava2:rxjava:2.1.2" compile "io.reactivex.rxjava2:rxjava:2.1.2"
compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

Binary file not shown.

View File

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

View File

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

View File

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

View File

@@ -328,6 +328,4 @@
<string name="text_open">打开</string> <string name="text_open">打开</string>
<string name="text_generated_code">生成结果</string> <string name="text_generated_code">生成结果</string>
<string name="text_copy">复制</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> </resources>