修复每次打包都会增加project.json的assets条目

This commit is contained in:
hyb1996
2018-07-13 14:29:41 +08:00
parent 5251028b0b
commit 6e481a3841
3 changed files with 22 additions and 5 deletions

Binary file not shown.

View File

@@ -1,6 +1,7 @@
package org.autojs.autojs.autojs.build; package org.autojs.autojs.autojs.build;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.text.TextUtils;
import com.stardust.app.GlobalAppContext; import com.stardust.app.GlobalAppContext;
import com.stardust.autojs.apkbuilder.ApkBuilder; import com.stardust.autojs.apkbuilder.ApkBuilder;
@@ -8,6 +9,7 @@ import com.stardust.autojs.apkbuilder.ManifestEditor;
import com.stardust.autojs.apkbuilder.util.StreamUtils; import com.stardust.autojs.apkbuilder.util.StreamUtils;
import com.stardust.autojs.project.ProjectConfig; import com.stardust.autojs.project.ProjectConfig;
import com.stardust.pio.PFiles; import com.stardust.pio.PFiles;
import org.autojs.autojs.App; import org.autojs.autojs.App;
import java.io.File; import java.io.File;
@@ -156,8 +158,10 @@ public class AutoJsApkBuilder extends ApkBuilder {
projectConfig.setName(config.appName) projectConfig.setName(config.appName)
.setPackageName(config.packageName) .setPackageName(config.packageName)
.setVersionCode(config.versionCode) .setVersionCode(config.versionCode)
.setVersionName(config.versionName) .setVersionName(config.versionName);
.setMainScriptFile("main.js"); if (TextUtils.isEmpty(projectConfig.getMainScriptFile())) {
projectConfig.setMainScriptFile("main.js");
}
updateProjectConfigAssets(projectConfig, config.jsPath, config.jsPath); updateProjectConfigAssets(projectConfig, config.jsPath, config.jsPath);
PFiles.write(ProjectConfig.configFileOfDir(config.jsPath), projectConfig.toJson()); PFiles.write(ProjectConfig.configFileOfDir(config.jsPath), projectConfig.toJson());
} }
@@ -173,7 +177,7 @@ public class AutoJsApkBuilder extends ApkBuilder {
continue; continue;
} }
String relative = new File(projectDir).toURI().relativize(file.toURI()).getPath(); String relative = new File(projectDir).toURI().relativize(file.toURI()).getPath();
config.getAssets().add(relative); config.addAsset(relative);
} }
} }

View File

@@ -8,6 +8,7 @@ import com.google.gson.annotations.SerializedName;
import com.stardust.pio.PFiles; import com.stardust.pio.PFiles;
import com.stardust.pio.UncheckedIOException; import com.stardust.pio.UncheckedIOException;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@@ -80,7 +81,6 @@ public class ProjectConfig {
} }
public String getName() { public String getName() {
return mName; return mName;
} }
@@ -128,11 +128,24 @@ public class ProjectConfig {
public List<String> getAssets() { public List<String> getAssets() {
if (mAssets == null) { if (mAssets == null) {
mAssets = new ArrayList<>(); mAssets = Collections.emptyList();
} }
return mAssets; return mAssets;
} }
public boolean addAsset(String assetRelativePath) {
if (mAssets == null) {
mAssets = new ArrayList<>();
}
for (String asset : mAssets) {
if (new File(asset).equals(new File(assetRelativePath))) {
return false;
}
}
mAssets.add(assetRelativePath);
return true;
}
public void setAssets(List<String> assets) { public void setAssets(List<String> assets) {
mAssets = assets; mAssets = assets;
} }