diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 5ad99a9c..398f8f7d 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/src/main/java/org/autojs/autojs/autojs/build/AutoJsApkBuilder.java b/app/src/main/java/org/autojs/autojs/autojs/build/AutoJsApkBuilder.java index 4e2ce061..d541f1f5 100644 --- a/app/src/main/java/org/autojs/autojs/autojs/build/AutoJsApkBuilder.java +++ b/app/src/main/java/org/autojs/autojs/autojs/build/AutoJsApkBuilder.java @@ -1,6 +1,7 @@ package org.autojs.autojs.autojs.build; import android.graphics.Bitmap; +import android.text.TextUtils; import com.stardust.app.GlobalAppContext; 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.project.ProjectConfig; import com.stardust.pio.PFiles; + import org.autojs.autojs.App; import java.io.File; @@ -156,8 +158,10 @@ public class AutoJsApkBuilder extends ApkBuilder { projectConfig.setName(config.appName) .setPackageName(config.packageName) .setVersionCode(config.versionCode) - .setVersionName(config.versionName) - .setMainScriptFile("main.js"); + .setVersionName(config.versionName); + if (TextUtils.isEmpty(projectConfig.getMainScriptFile())) { + projectConfig.setMainScriptFile("main.js"); + } updateProjectConfigAssets(projectConfig, config.jsPath, config.jsPath); PFiles.write(ProjectConfig.configFileOfDir(config.jsPath), projectConfig.toJson()); } @@ -173,7 +177,7 @@ public class AutoJsApkBuilder extends ApkBuilder { continue; } String relative = new File(projectDir).toURI().relativize(file.toURI()).getPath(); - config.getAssets().add(relative); + config.addAsset(relative); } } diff --git a/autojs/src/main/java/com/stardust/autojs/project/ProjectConfig.java b/autojs/src/main/java/com/stardust/autojs/project/ProjectConfig.java index 28e06833..c5731e30 100644 --- a/autojs/src/main/java/com/stardust/autojs/project/ProjectConfig.java +++ b/autojs/src/main/java/com/stardust/autojs/project/ProjectConfig.java @@ -8,6 +8,7 @@ import com.google.gson.annotations.SerializedName; import com.stardust.pio.PFiles; import com.stardust.pio.UncheckedIOException; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -80,7 +81,6 @@ public class ProjectConfig { } - public String getName() { return mName; } @@ -128,11 +128,24 @@ public class ProjectConfig { public List getAssets() { if (mAssets == null) { - mAssets = new ArrayList<>(); + mAssets = Collections.emptyList(); } 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 assets) { mAssets = assets; }