dedup = new LinkedHashSet<>();
+ for (int i = 0; i < array.length(); i++) {
+ String value = array.optString(i, "").trim();
+ if (!value.isEmpty()) {
+ dedup.add(value);
+ }
+ }
+ out.addAll(dedup);
+ return out;
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ if (!(other instanceof BuildUiState)) return false;
+ BuildUiState that = (BuildUiState) other;
+ return Objects.equals(sourcePath, that.sourcePath)
+ && Objects.equals(outputPath, that.outputPath)
+ && Objects.equals(appName, that.appName)
+ && Objects.equals(packageName, that.packageName)
+ && Objects.equals(versionName, that.versionName)
+ && Objects.equals(versionCode, that.versionCode)
+ && launchLogsVisible == that.launchLogsVisible
+ && launchSplashVisible == that.launchSplashVisible
+ && launchLauncherVisible == that.launchLauncherVisible
+ && launchRunOnBoot == that.launchRunOnBoot
+ && Objects.equals(launchSlug, that.launchSlug)
+ && Objects.equals(signatureScheme, that.signatureScheme)
+ && Objects.equals(keyStorePath, that.keyStorePath)
+ && Objects.equals(abis, that.abis)
+ && Objects.equals(libs, that.libs)
+ && Objects.equals(permissions, that.permissions);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ sourcePath,
+ outputPath,
+ appName,
+ packageName,
+ versionName,
+ versionCode,
+ launchLogsVisible,
+ launchSplashVisible,
+ launchLauncherVisible,
+ launchRunOnBoot,
+ launchSlug,
+ signatureScheme,
+ keyStorePath,
+ abis,
+ libs,
+ permissions
+ );
+ }
+ }
+
+ private static final class ProfileEntry {
+ final String internalName;
+ final String displayName;
+
+ ProfileEntry(@NonNull String internalName, @NonNull String displayName) {
+ this.internalName = internalName;
+ this.displayName = displayName;
}
}
@@ -1455,5 +3185,4 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
.putExtra(BuildActivity.EXTRA_SOURCE, extraSource);
IntentUtils.startSafely(intent, context);
}
-
}
diff --git a/app/src/main/java/org/autojs/autojs/ui/project/BuildConfigStore.java b/app/src/main/java/org/autojs/autojs/ui/project/BuildConfigStore.java
new file mode 100644
index 00000000..bc80497d
--- /dev/null
+++ b/app/src/main/java/org/autojs/autojs/ui/project/BuildConfigStore.java
@@ -0,0 +1,450 @@
+package org.autojs.autojs.ui.project;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import org.autojs.autojs.core.pref.Language;
+import org.autojs.autojs.util.StringUtils;
+import org.autojs.autojs6.R;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * Persistent profile store for BuildActivity configuration snapshots.
+ * BuildActivity 配置快照的持久化配置文件存储.
+ *
+ * Created by JetBrains AI Assistant (GPT-5.3-Codex (xhigh)) on Mar 9, 2026.
+ */
+public final class BuildConfigStore {
+
+ private static final String PREF_NAME = "build_apk_config_profiles";
+ private static final String KEY_ACTIVE_PROFILE = "active_profile";
+ private static final String KEY_PROFILES_JSON = "profiles_json";
+
+ private static final String KEY_ROOT_PROFILES = "profiles";
+ private static final String KEY_ENTRY_STATE = "state";
+ private static final String KEY_ENTRY_FIELDS = "fields";
+
+ private static final String KEY_EXPORT_NAME = "name";
+
+ public static final String PROFILE_DEFAULT_ID = "__default__";
+ public static final String PROFILE_PROJECT_JSON = "project.json";
+
+ public static final String STATE_SOURCE_PATH = "sourcePath";
+ public static final String STATE_OUTPUT_PATH = "outputPath";
+ public static final String STATE_APP_NAME = "appName";
+ public static final String STATE_PACKAGE_NAME = "packageName";
+ public static final String STATE_VERSION_NAME = "versionName";
+ public static final String STATE_VERSION_CODE = "versionCode";
+ public static final String STATE_LAUNCH_LOGS_VISIBLE = "launchLogsVisible";
+ public static final String STATE_LAUNCH_SPLASH_VISIBLE = "launchSplashVisible";
+ public static final String STATE_LAUNCH_LAUNCHER_VISIBLE = "launchLauncherVisible";
+ public static final String STATE_LAUNCH_RUN_ON_BOOT = "launchRunOnBoot";
+ public static final String STATE_LAUNCH_SLUG = "launchSlug";
+ public static final String STATE_SIGNATURE_SCHEME = "signatureScheme";
+ public static final String STATE_KEY_STORE_PATH = "keyStorePath";
+ public static final String STATE_ABIS = "abis";
+ public static final String STATE_LIBS = "libs";
+ public static final String STATE_PERMISSIONS = "permissions";
+
+ public static final String FIELD_FIXED_SOURCE_PATH = "fixedSourcePath";
+ public static final String FIELD_FIXED_ICON = "fixedIcon";
+ public static final String FIELD_FIXED_OUTPUT_PATH = "fixedOutputPath";
+ public static final String FIELD_FIXED_APP_NAME = "fixedAppName";
+ public static final String FIELD_FIXED_PACKAGE_NAME = "fixedPackageName";
+ public static final String FIELD_FIXED_VERSION_NAME = "fixedVersionName";
+ public static final String FIELD_FIXED_VERSION_CODE = "fixedVersionCode";
+ public static final String FIELD_FIXED_LAUNCH_LOGS_VISIBLE = "fixedLaunchLogsVisible";
+ public static final String FIELD_FIXED_LAUNCH_SPLASH_VISIBLE = "fixedLaunchSplashVisible";
+ public static final String FIELD_FIXED_LAUNCH_LAUNCHER_VISIBLE = "fixedLaunchLauncherVisible";
+ public static final String FIELD_FIXED_LAUNCH_RUN_ON_BOOT = "fixedLaunchRunOnBoot";
+ public static final String FIELD_FIXED_LAUNCH_SLUG = "fixedLaunchSlug";
+ public static final String FIELD_FIXED_ABIS = "fixedAbis";
+ public static final String FIELD_FIXED_LIBS = "fixedLibs";
+ public static final String FIELD_FIXED_SIGNATURE_SCHEME = "fixedSignatureScheme";
+ public static final String FIELD_FIXED_KEY_STORE = "fixedKeyStore";
+ public static final String FIELD_FIXED_PERMISSIONS = "fixedPermissions";
+
+ private BuildConfigStore() {
+ }
+
+ public static final class ProfilePayload {
+ @NonNull
+ public final String name;
+ @NonNull
+ public final JSONObject state;
+ @NonNull
+ public final JSONObject fields;
+
+ public ProfilePayload(@NonNull String name, @NonNull JSONObject state, @NonNull JSONObject fields) {
+ this.name = name;
+ this.state = state;
+ this.fields = fields;
+ }
+ }
+
+ @NonNull
+ public static String getActiveProfileName(@NonNull Context context) {
+ SharedPreferences sp = prefs(context);
+ String name = sp.getString(KEY_ACTIVE_PROFILE, PROFILE_DEFAULT_ID);
+ if (name == null || name.trim().isEmpty()) {
+ return PROFILE_DEFAULT_ID;
+ }
+ return name;
+ }
+
+ public static void setActiveProfileName(@NonNull Context context, @NonNull String name) {
+ prefs(context).edit().putString(KEY_ACTIVE_PROFILE, name).apply();
+ }
+
+ @NonNull
+ public static String getDefaultProfileDisplayName(@NonNull Context context) {
+ return context.getString(R.string.text_default);
+ }
+
+ public static boolean isReservedDefaultName(@NonNull Context context, @Nullable String name) {
+ if (name == null) return false;
+ String n = name.trim();
+ if (n.isEmpty()) return false;
+ var computed = new ArrayList<>() {{
+ add(PROFILE_DEFAULT_ID);
+ }};
+ for (Language language : Language.values()) {
+ if (language == Language.AUTO) continue;
+ String s = StringUtils.getStringForLocale(context, language.getLocale(), R.string.text_default);
+ if (s.isBlank()) continue;
+ computed.add(s);
+ }
+ return computed.contains(n)
+ || Objects.equals(n, getDefaultProfileDisplayName(context));
+ }
+
+ public static boolean isReservedProfileName(@NonNull Context context, @Nullable String name) {
+ if (name == null) return false;
+ String n = name.trim();
+ if (n.isEmpty()) return false;
+ return isReservedDefaultName(context, n)
+ || Objects.equals(n, PROFILE_PROJECT_JSON);
+ }
+
+ @NonNull
+ public static String getPrefillProfileName(@NonNull Context context) {
+ String prefix = "config-";
+ List profiles = listProfiles(context);
+ int candidate = 1;
+ while (true) {
+ String name = prefix + candidate;
+ if (!profiles.contains(name)) {
+ return name;
+ }
+ candidate++;
+ }
+ }
+
+ @NonNull
+ public static List listProfiles(@NonNull Context context) {
+ JSONObject root = readRootOrCreate(context);
+ JSONObject profiles = root.optJSONObject(KEY_ROOT_PROFILES);
+ ArrayList list = new ArrayList<>();
+ if (profiles != null) {
+ profiles.keys().forEachRemaining(list::add);
+ }
+ list.sort(String::compareToIgnoreCase);
+ return list;
+ }
+
+ public static void ensureDefaultProfileExists(@NonNull Context context, @Nullable JSONObject defaultState) {
+ ensureDefaultProfileExists(context, defaultState, null);
+ }
+
+ public static void ensureDefaultProfileExists(@NonNull Context context, @Nullable JSONObject defaultState, @Nullable JSONObject defaultFields) {
+ JSONObject root = readRootOrCreate(context);
+ JSONObject profiles = root.optJSONObject(KEY_ROOT_PROFILES);
+ if (profiles == null) {
+ profiles = new JSONObject();
+ putSafely(root, KEY_ROOT_PROFILES, profiles);
+ }
+
+ boolean changed = false;
+ JSONObject expectedDefault = normalizeProfile(null, defaultState, defaultFields);
+
+ JSONObject currentDefault = profiles.optJSONObject(PROFILE_DEFAULT_ID);
+ if (currentDefault == null || !Objects.equals(currentDefault.toString(), expectedDefault.toString())) {
+ putSafely(profiles, PROFILE_DEFAULT_ID, expectedDefault);
+ changed = true;
+ }
+
+ String active = getActiveProfileName(context);
+ if (!profiles.has(active)) {
+ setActiveProfileName(context, PROFILE_DEFAULT_ID);
+ }
+
+ if (changed) {
+ persistRoot(context, root);
+ }
+ }
+
+ @Nullable
+ public static ProfilePayload loadProfilePayload(@NonNull Context context, @NonNull String name) {
+ JSONObject root = readRootOrCreate(context);
+ JSONObject profiles = root.optJSONObject(KEY_ROOT_PROFILES);
+ if (profiles == null) return null;
+
+ JSONObject raw = profiles.optJSONObject(name);
+ if (raw == null) return null;
+
+ JSONObject normalized = normalizeProfile(raw, null, null);
+ return new ProfilePayload(
+ name,
+ normalized.optJSONObject(KEY_ENTRY_STATE) == null
+ ? normalizeState(null)
+ : normalized.optJSONObject(KEY_ENTRY_STATE),
+ normalized.optJSONObject(KEY_ENTRY_FIELDS) == null
+ ? defaultFields()
+ : normalized.optJSONObject(KEY_ENTRY_FIELDS)
+ );
+ }
+
+ @Nullable
+ public static JSONObject loadProfile(@NonNull Context context, @NonNull String name) {
+ ProfilePayload payload = loadProfilePayload(context, name);
+ return payload == null ? null : payload.state;
+ }
+
+ @NonNull
+ public static JSONObject loadProfileFields(@NonNull Context context, @NonNull String name) {
+ ProfilePayload payload = loadProfilePayload(context, name);
+ return payload == null ? defaultFields() : payload.fields;
+ }
+
+ public static void saveProfile(@NonNull Context context, @NonNull String name, @Nullable JSONObject state) {
+ saveProfile(context, name, state, null);
+ }
+
+ public static void saveProfile(@NonNull Context context, @NonNull String name, @Nullable JSONObject state, @Nullable JSONObject fields) {
+ JSONObject root = readRootOrCreate(context);
+ JSONObject profiles = root.optJSONObject(KEY_ROOT_PROFILES);
+ if (profiles == null) {
+ profiles = new JSONObject();
+ putSafely(root, KEY_ROOT_PROFILES, profiles);
+ }
+
+ JSONObject normalizedEntry = normalizeProfile(null, state, fields);
+ putSafely(profiles, name, normalizedEntry);
+ persistRoot(context, root);
+ }
+
+ public static void deleteProfile(@NonNull Context context, @NonNull String name) {
+ if (PROFILE_DEFAULT_ID.equals(name) || PROFILE_PROJECT_JSON.equals(name)) {
+ return;
+ }
+ JSONObject root = readRootOrCreate(context);
+ JSONObject profiles = root.optJSONObject(KEY_ROOT_PROFILES);
+ if (profiles == null) return;
+ profiles.remove(name);
+ persistRoot(context, root);
+ if (Objects.equals(getActiveProfileName(context), name)) {
+ setActiveProfileName(context, PROFILE_DEFAULT_ID);
+ }
+ }
+
+ @NonNull
+ public static JSONObject exportProfileToJson(@NonNull Context context, @NonNull String name) {
+ ProfilePayload payload = loadProfilePayload(context, name);
+
+ JSONObject out = new JSONObject();
+ putSafely(out, KEY_EXPORT_NAME, name);
+ putSafely(out, KEY_ENTRY_STATE, payload == null ? normalizeState(null) : normalizeState(payload.state));
+ putSafely(out, KEY_ENTRY_FIELDS, payload == null ? defaultFields() : normalizeFields(payload.fields));
+ return out;
+ }
+
+ @NonNull
+ public static ProfilePayload importProfileFromJson(@NonNull JSONObject json) {
+ String name = json.optString(KEY_EXPORT_NAME, "").trim();
+ if (name.isEmpty()) {
+ throw new IllegalArgumentException("Invalid profile name");
+ }
+
+ JSONObject state = json.optJSONObject(KEY_ENTRY_STATE);
+ if (state == null && looksLikeLegacyState(json)) {
+ state = json;
+ }
+
+ JSONObject fields = json.optJSONObject(KEY_ENTRY_FIELDS);
+
+ return new ProfilePayload(name, normalizeState(state), normalizeFields(fields));
+ }
+
+ @NonNull
+ private static SharedPreferences prefs(@NonNull Context context) {
+ return context.getApplicationContext().getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
+ }
+
+ @NonNull
+ private static JSONObject readRootOrCreate(@NonNull Context context) {
+ String raw = prefs(context).getString(KEY_PROFILES_JSON, null);
+ JSONObject root;
+ try {
+ root = raw == null || raw.trim().isEmpty() ? new JSONObject() : new JSONObject(raw);
+ } catch (Throwable ignored) {
+ root = new JSONObject();
+ }
+ if (!root.has(KEY_ROOT_PROFILES) || !(root.opt(KEY_ROOT_PROFILES) instanceof JSONObject)) {
+ putSafely(root, KEY_ROOT_PROFILES, new JSONObject());
+ }
+ return root;
+ }
+
+ private static void persistRoot(@NonNull Context context, @NonNull JSONObject root) {
+ prefs(context).edit().putString(KEY_PROFILES_JSON, root.toString()).apply();
+ }
+
+ @NonNull
+ private static JSONObject normalizeProfile(@Nullable JSONObject rawProfile, @Nullable JSONObject fallbackState, @Nullable JSONObject fallbackFields) {
+ JSONObject stateSrc = null;
+ JSONObject fieldsSrc = null;
+
+ if (rawProfile != null) {
+ if (rawProfile.has(KEY_ENTRY_STATE) || rawProfile.has(KEY_ENTRY_FIELDS)) {
+ stateSrc = rawProfile.optJSONObject(KEY_ENTRY_STATE);
+ fieldsSrc = rawProfile.optJSONObject(KEY_ENTRY_FIELDS);
+ } else if (looksLikeLegacyState(rawProfile)) {
+ stateSrc = rawProfile;
+ }
+ }
+
+ JSONObject out = new JSONObject();
+ putSafely(out, KEY_ENTRY_STATE, normalizeState(stateSrc != null ? stateSrc : fallbackState));
+ putSafely(out, KEY_ENTRY_FIELDS, normalizeFields(fieldsSrc != null ? fieldsSrc : fallbackFields));
+ return out;
+ }
+
+ private static boolean looksLikeLegacyState(@NonNull JSONObject object) {
+ return object.has(STATE_SOURCE_PATH)
+ || object.has(STATE_OUTPUT_PATH)
+ || object.has(STATE_APP_NAME)
+ || object.has(STATE_PACKAGE_NAME)
+ || object.has(STATE_VERSION_NAME)
+ || object.has(STATE_VERSION_CODE)
+ || object.has(STATE_LAUNCH_LOGS_VISIBLE)
+ || object.has(STATE_LAUNCH_SPLASH_VISIBLE)
+ || object.has(STATE_LAUNCH_LAUNCHER_VISIBLE)
+ || object.has(STATE_LAUNCH_RUN_ON_BOOT)
+ || object.has(STATE_LAUNCH_SLUG)
+ || object.has(STATE_SIGNATURE_SCHEME)
+ || object.has(STATE_KEY_STORE_PATH)
+ || object.has(STATE_ABIS)
+ || object.has(STATE_LIBS)
+ || object.has(STATE_PERMISSIONS);
+ }
+
+ @NonNull
+ private static JSONObject normalizeState(@Nullable JSONObject state) {
+ JSONObject out = new JSONObject();
+ JSONObject src = state == null ? new JSONObject() : state;
+
+ putSafely(out, STATE_SOURCE_PATH, src.optString(STATE_SOURCE_PATH, ""));
+ putSafely(out, STATE_OUTPUT_PATH, src.optString(STATE_OUTPUT_PATH, ""));
+ putSafely(out, STATE_APP_NAME, src.optString(STATE_APP_NAME, ""));
+ putSafely(out, STATE_PACKAGE_NAME, src.optString(STATE_PACKAGE_NAME, ""));
+ putSafely(out, STATE_VERSION_NAME, src.optString(STATE_VERSION_NAME, ""));
+ putSafely(out, STATE_VERSION_CODE, src.optString(STATE_VERSION_CODE, ""));
+ putSafely(out, STATE_LAUNCH_LOGS_VISIBLE, src.optBoolean(STATE_LAUNCH_LOGS_VISIBLE, true));
+ putSafely(out, STATE_LAUNCH_SPLASH_VISIBLE, src.optBoolean(STATE_LAUNCH_SPLASH_VISIBLE, true));
+ putSafely(out, STATE_LAUNCH_LAUNCHER_VISIBLE, src.optBoolean(STATE_LAUNCH_LAUNCHER_VISIBLE, true));
+ putSafely(out, STATE_LAUNCH_RUN_ON_BOOT, src.optBoolean(STATE_LAUNCH_RUN_ON_BOOT, false));
+ putSafely(out, STATE_LAUNCH_SLUG, src.optString(STATE_LAUNCH_SLUG, ""));
+ putSafely(out, STATE_SIGNATURE_SCHEME, src.optString(STATE_SIGNATURE_SCHEME, ""));
+ putSafely(out, STATE_KEY_STORE_PATH, src.optString(STATE_KEY_STORE_PATH, ""));
+
+ putSafely(out, STATE_ABIS, normalizeStringArray(src.optJSONArray(STATE_ABIS)));
+ putSafely(out, STATE_LIBS, normalizeStringArray(src.optJSONArray(STATE_LIBS)));
+ putSafely(out, STATE_PERMISSIONS, normalizeStringArray(src.optJSONArray(STATE_PERMISSIONS)));
+
+ return out;
+ }
+
+ @NonNull
+ private static JSONObject defaultFields() {
+ JSONObject out = new JSONObject();
+ putSafely(out, FIELD_FIXED_SOURCE_PATH, false);
+ putSafely(out, FIELD_FIXED_ICON, false);
+ putSafely(out, FIELD_FIXED_OUTPUT_PATH, false);
+ putSafely(out, FIELD_FIXED_APP_NAME, false);
+ putSafely(out, FIELD_FIXED_PACKAGE_NAME, false);
+ putSafely(out, FIELD_FIXED_VERSION_NAME, false);
+ putSafely(out, FIELD_FIXED_VERSION_CODE, false);
+ putSafely(out, FIELD_FIXED_LAUNCH_LOGS_VISIBLE, false);
+ putSafely(out, FIELD_FIXED_LAUNCH_SPLASH_VISIBLE, false);
+ putSafely(out, FIELD_FIXED_LAUNCH_LAUNCHER_VISIBLE, false);
+ putSafely(out, FIELD_FIXED_LAUNCH_RUN_ON_BOOT, false);
+ putSafely(out, FIELD_FIXED_LAUNCH_SLUG, false);
+ putSafely(out, FIELD_FIXED_ABIS, false);
+ putSafely(out, FIELD_FIXED_LIBS, true);
+ putSafely(out, FIELD_FIXED_SIGNATURE_SCHEME, true);
+ putSafely(out, FIELD_FIXED_KEY_STORE, true);
+ putSafely(out, FIELD_FIXED_PERMISSIONS, true);
+ return out;
+ }
+
+ @NonNull
+ private static JSONObject normalizeFields(@Nullable JSONObject fields) {
+ JSONObject defaults = defaultFields();
+ JSONObject src = fields == null ? new JSONObject() : fields;
+
+ JSONObject out = new JSONObject();
+ putSafely(out, FIELD_FIXED_SOURCE_PATH, src.optBoolean(FIELD_FIXED_SOURCE_PATH, defaults.optBoolean(FIELD_FIXED_SOURCE_PATH, false)));
+ putSafely(out, FIELD_FIXED_ICON, src.optBoolean(FIELD_FIXED_ICON, defaults.optBoolean(FIELD_FIXED_ICON, false)));
+ putSafely(out, FIELD_FIXED_OUTPUT_PATH, src.optBoolean(FIELD_FIXED_OUTPUT_PATH, defaults.optBoolean(FIELD_FIXED_OUTPUT_PATH, false)));
+ putSafely(out, FIELD_FIXED_APP_NAME, src.optBoolean(FIELD_FIXED_APP_NAME, defaults.optBoolean(FIELD_FIXED_APP_NAME, false)));
+ putSafely(out, FIELD_FIXED_PACKAGE_NAME, src.optBoolean(FIELD_FIXED_PACKAGE_NAME, defaults.optBoolean(FIELD_FIXED_PACKAGE_NAME, false)));
+ putSafely(out, FIELD_FIXED_VERSION_NAME, src.optBoolean(FIELD_FIXED_VERSION_NAME, defaults.optBoolean(FIELD_FIXED_VERSION_NAME, false)));
+ putSafely(out, FIELD_FIXED_VERSION_CODE, src.optBoolean(FIELD_FIXED_VERSION_CODE, defaults.optBoolean(FIELD_FIXED_VERSION_CODE, false)));
+ putSafely(out, FIELD_FIXED_LAUNCH_LOGS_VISIBLE, src.optBoolean(FIELD_FIXED_LAUNCH_LOGS_VISIBLE, defaults.optBoolean(FIELD_FIXED_LAUNCH_LOGS_VISIBLE, false)));
+ putSafely(out, FIELD_FIXED_LAUNCH_SPLASH_VISIBLE, src.optBoolean(FIELD_FIXED_LAUNCH_SPLASH_VISIBLE, defaults.optBoolean(FIELD_FIXED_LAUNCH_SPLASH_VISIBLE, false)));
+ putSafely(out, FIELD_FIXED_LAUNCH_LAUNCHER_VISIBLE, src.optBoolean(FIELD_FIXED_LAUNCH_LAUNCHER_VISIBLE, defaults.optBoolean(FIELD_FIXED_LAUNCH_LAUNCHER_VISIBLE, false)));
+ putSafely(out, FIELD_FIXED_LAUNCH_RUN_ON_BOOT, src.optBoolean(FIELD_FIXED_LAUNCH_RUN_ON_BOOT, defaults.optBoolean(FIELD_FIXED_LAUNCH_RUN_ON_BOOT, false)));
+ putSafely(out, FIELD_FIXED_LAUNCH_SLUG, src.optBoolean(FIELD_FIXED_LAUNCH_SLUG, defaults.optBoolean(FIELD_FIXED_LAUNCH_SLUG, false)));
+ putSafely(out, FIELD_FIXED_ABIS, src.optBoolean(FIELD_FIXED_ABIS, defaults.optBoolean(FIELD_FIXED_ABIS, false)));
+ putSafely(out, FIELD_FIXED_LIBS, src.optBoolean(FIELD_FIXED_LIBS, defaults.optBoolean(FIELD_FIXED_LIBS, true)));
+ putSafely(out, FIELD_FIXED_SIGNATURE_SCHEME, src.optBoolean(FIELD_FIXED_SIGNATURE_SCHEME, defaults.optBoolean(FIELD_FIXED_SIGNATURE_SCHEME, true)));
+ putSafely(out, FIELD_FIXED_KEY_STORE, src.optBoolean(FIELD_FIXED_KEY_STORE, defaults.optBoolean(FIELD_FIXED_KEY_STORE, true)));
+ putSafely(out, FIELD_FIXED_PERMISSIONS, src.optBoolean(FIELD_FIXED_PERMISSIONS, defaults.optBoolean(FIELD_FIXED_PERMISSIONS, true)));
+
+ return out;
+ }
+
+ @NonNull
+ private static JSONArray normalizeStringArray(@Nullable JSONArray source) {
+ LinkedHashSet dedup = new LinkedHashSet<>();
+ if (source != null) {
+ for (int i = 0; i < source.length(); i++) {
+ String s = source.optString(i, "").trim();
+ if (!s.isEmpty()) {
+ dedup.add(s);
+ }
+ }
+ }
+ JSONArray out = new JSONArray();
+ for (String s : dedup) {
+ out.put(s);
+ }
+ return out;
+ }
+
+ private static void putSafely(@NonNull JSONObject target, @NonNull String key, @Nullable Object value) {
+ try {
+ target.put(key, value);
+ } catch (JSONException ignored) {
+ // Ignore malformed value to keep profile storage resilient.
+ }
+ }
+}
diff --git a/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt b/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt
index 03a0f3e2..b67f2dc9 100644
--- a/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt
+++ b/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt
@@ -5,12 +5,14 @@ import android.util.AttributeSet
import android.view.MotionEvent
import android.view.View
import android.widget.CheckBox
+import android.widget.CompoundButton
import android.widget.LinearLayout
import android.widget.TextView
import org.autojs.autojs6.R
/**
* Created by SuperMonster003 on Nov 24, 2023.
+ * Modified by JetBrains AI Assistant (GPT-5.3-Codex (xhigh)) as of Mar 9, 2026.
*/
class RoundCheckboxWithText : LinearLayout {
@@ -51,6 +53,10 @@ class RoundCheckboxWithText : LinearLayout {
fun isChecked() = mCheckbox.isChecked
+ fun setOnCheckedChangeListener(listener: CompoundButton.OnCheckedChangeListener?) {
+ mCheckbox.setOnCheckedChangeListener(listener)
+ }
+
fun setText(text: String?) {
mTextView.text = text
}
@@ -82,5 +88,4 @@ class RoundCheckboxWithText : LinearLayout {
private fun isInside(v: View, e: MotionEvent): Boolean {
return e.x in 0f..v.measuredWidth.toFloat() && e.y in 0f..v.measuredHeight.toFloat()
}
-
-}
\ No newline at end of file
+}
diff --git a/app/src/main/res/drawable/round_checkbox.xml b/app/src/main/res/drawable/round_checkbox.xml
index 9b311975..2d8b8852 100644
--- a/app/src/main/res/drawable/round_checkbox.xml
+++ b/app/src/main/res/drawable/round_checkbox.xml
@@ -1,7 +1,6 @@
-
-
-
+
+
diff --git a/app/src/main/res/layout/activity_build.xml b/app/src/main/res/layout/activity_build.xml
index d8dca221..d69800bc 100644
--- a/app/src/main/res/layout/activity_build.xml
+++ b/app/src/main/res/layout/activity_build.xml
@@ -16,10 +16,18 @@
+ app:contentInsetEndWithActions="2dp"
+ app:contentInsetStartWithNavigation="0dp"
+ app:popupTheme="@style/AppTheme.PopupOverlay">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
@@ -176,7 +247,6 @@
android:layout_height="wrap_content"
android:inputType="text"
android:imeOptions="actionNext" />
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/app/src/main/res/menu/menu_build_profile_options.xml b/app/src/main/res/menu/menu_build_profile_options.xml
new file mode 100644
index 00000000..5104ea40
--- /dev/null
+++ b/app/src/main/res/menu/menu_build_profile_options.xml
@@ -0,0 +1,16 @@
+
+
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index c37b6de1..52045e9e 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -119,9 +119,11 @@
تخلَّ
إيقاف
إيقاف الاتصال
+ تفعيل
اضافة
متقدم
تصحيح العنوان
+ تفويض
@string/text_back
يلغي
يلغي
@@ -231,6 +233,7 @@
فشل في التحقق من التحديثات
يجب أن يتبع القولون عنوان IP صالحًا
لا يمكن أن تكون البوصلة لاغية
+ يتطلب تسجيل السكربتات توفر شرط واحد على الاقل مما يلي:\n- صلاحيات Root\n- صلاحيات Shizuku
لا يمكن الاتصال بالخادم البعيد: %s
فشل الاتصال بـ \"%1$s\".
انتهت مهلة الاتصال (%d مللي ثانية)
@@ -254,6 +257,7 @@
فشل تحويل القيمة %s إلى قابل للرسم
فشل النسخ
فشل في انشاء
+ فشل في تفعيل الاضافة
فشل فتح صفحة الإعدادات
فشل منح Shizuku حق الوصول
فشل إنشاء المثيل \"%s\"
@@ -270,6 +274,7 @@
تعذّر جلب ملف version.properties لتحليل معلومات الإصدار
فشل في إلغاء وصول Shizuku
فشل في تشغيل البرنامج النصي
+ فشل الحفظ
تعذّر حفظ إعدادات المشروع
الملف في المسار \"%1$s\" غير موجود
لا يمكن حظر مؤشر ترابط واجهة المستخدم. حاول تشغيل %s() في الخيط الفرعي أو النصف الفرعي
@@ -330,6 +335,9 @@
بناء جملة نمط غير صالح
ملف APK للمكوّن الإضافي لا يحتوي على الموارد المطلوبة لـ variant=\"%1$s\": %2$s.
ملف APK للمكوّن الإضافي لا يحتوي على مكتبات native المطلوبة: %1$s.
+ الاضافة \"%1$s\" غير مُفوّضة في مركز الاضافات
+ الاضافة \"%1$s\" غير مُمكّنة في مركز الاضافات
+ لم يتم العثور على الاضافة \"%1$s\" ضمن التطبيقات المثبتة
أعاد المكوّن الإضافي %1$s معلومات فارغة.
أعاد المكوّن الإضافي %1$s variant غير صالح: %2$s.
رقم المنفذ أكثر من 65535
@@ -371,6 +379,7 @@
نوع نتيجة غير معروف {name: %s ، params: %s}
محدد غير معروف {الاسم: %s ، اكتب: %s}
نوع غير معروف: %s
+ طريقة اتصال الاضافة غير مدعومة
لا يمكن ضغط تنسيق WebP-Lossless باستخدام معامل الجودة؛ استخدم JPEG/PNG/WebP-Lossy بدلاً من ذلك
الملف غير موجود او غير قابل للقراءة
الملف غير موجود أو قابلاً للقراءة: %s
@@ -387,6 +396,7 @@
تأخير قبل الحلقة
0 للحلقة اللانهائية
يتم دعم IPv4 و IPv6 وأسماء النطاقات.
+ جرّب الضغط على زر \"تفعيل\" لتفعيل الاضافة مرة واحدة.\nاذا نجح التفعيل، فسيتم تشغيل الزر تلقائيا خلال فترة زمنية معينة.
أدخل عنوان URL يشير إلى ملحق (Plugin) بعيد.\nمثال: \"https://example.com/plugin.apk\".
حذف نهائيا
نقل الى سلة المحذوفات
@@ -433,6 +443,7 @@
آخر تثبيت
آخر إزالة
آخر تحديث
+ الالية
حجم الحزمة
إصدار متاح
هل أنت متأكد من تجاهل إصدار التحديث الحالي؟\nيمكنك إدارة جميع الإصدارات التي تم تجاهلها بواسطة إعدادات التطبيق.
@@ -463,6 +474,7 @@
أضف اختصارات إلى المشغل
ابدأ أو توقف عن التسجيل الذي يتم التحكم فيه بواسطة مفتاح خفض مستوى الصوت عند عرض الزر العائم
اضغط على مفتاح \"رفع الصوت\" لإيقاف تشغيل جميع البرامج النصية
+ ": "
وحدة التخزين الداخلية
خدمة إمكانية الوصول
مطلوب من خلال العملية التلقائية البرنامج النصي (انقر فوق ، اضغط لفترة طويلة ، شريحة ، إلخ).
@@ -485,6 +497,7 @@
التمرير للأمام (التمرير)
تعيين النص (setText)
عمل
+ تم التفعيل بنجاح
لا مثبت APK
هناك حاجة إلى أداة ADB
إضافة مكتبة ألوان
@@ -544,8 +557,11 @@
كود إصدار التطبيق
اسم إصدار التطبيق
مظهر
+ جارٍ تطبيق الموارد الثنائية
يجب ملء حقل واحد على الأقل من [الاسم، اسم المنظمة، وحدة التنظيم، رمز الدولة، الولاية أو المقاطعة، المدينة أو المنطقة، الشارع]
ينسب
+ تفويض الاضافة
+ هذه اضافة من طرف ثالث. يرجى الانتباه الى مصدر الاضافة وامان الاستخدام.\n\nاضغط زر \"تفويض\" لتمكين الاضافة.
تحقق من التحديثات التلقائية
تحقق من وجود التحديثات تلقائيًا وعرض تناول وجبة خفيفة على الصفحة الرئيسية
وضع الليل التلقائي
@@ -554,8 +570,27 @@
خلف
عمل
مهمة البث
+ بناء
بناء APK
+ اكتمل البناء
+ ملف البناء
+ لا يمكن حذف الملف الافتراضي
+ لا يمكن حذف ملف project.json
+ حذف الملف
+ حقول الملف
+ اعداد حقول الملف
+ سيتم حفظ الحقول المحددة كقيم ثابتة في هذا الملف.
+ المزيد من اجراءات الملف
+ لا يمكن استخدام اسماء ملفات محجوزة (Default, project.json)
+ اسم ملف البناء
+ ملف جديد
+ توجد تغييرات غير محفوظة في اعدادات البناء الحالية.
+ توجد تغييرات غير محفوظة في اعدادات البناء الحالية، وسيتم كتابتها في project.json.
+ هل تريد حفظ التغييرات قبل المتابعة?
نجح بناء
+ جارٍ بناء APK
+ جارٍ بناء الموارد
+ مسار APK المبني
يلغي
إلغاء
لا يمكن حذف ملف التعريف الافتراضي
@@ -587,6 +622,9 @@
اختر مسار الاستعادة
المدينة أو المنطقة
اسم الفئة / الحزمة
+ تنظيف
+ اكتمل التنظيف
+ جارٍ تنظيف مساحة العمل
صافي
مسح اختيار الملف
مسح السيناريو قبل التنفيذ
@@ -615,6 +653,8 @@
التوافق
ثقة
تكوين
+ جارٍ ضبط manifest
+ جارٍ ضبط اسم الحزمة
هل أنت متأكد من مسح جميع العناصر؟
هل تريد مسح السجل?
سيتم مسح السجل ادناه\n\n[ %1$s ]\n\nهل تريد المتابعة?
@@ -630,6 +670,7 @@
لا يمكن إنشاء الاتصال
فشل الاتصال
وحدة التحكم
+ المحتوى
يكمل
ينسخ
نسخ جميع
@@ -644,8 +685,18 @@
نسخ إلى الحافظة
نسخ القيمة
جارٍ النسخ...
+ جارٍ نسخ asset
+ جارٍ نسخ assets الى
+ جارٍ نسخ المجلد
+ جارٍ نسخ الملف
+ جارٍ نسخ المكتبات لـ ABI
+ جارٍ نسخ المكتبة
+ جارٍ نسخ المكتبات الاصلية
+ جارٍ نسخ مجلد المشروع
+ جارٍ نسخ ملف السكربت
رمز الدولة (XX)
رمز الدولة يجب أن يكون حرفين كبيرين
+ جارٍ انشاء APK غير موقّع
اعدادات الصفحة الحالية
النسخة الحالية
مهام يومية
@@ -728,10 +779,12 @@
تمكين خدمة إمكانية الوصول مع إعدادات آمنة
تفعيل الملحق
مفعّل
+ جارٍ تشفير السكربت
خطأ
فشل نسخ الملف: %s
تقرير الشوائب
تقديري
+ معلومات الاستثناء
نفذ - اعدم
تنفيذ الرمز
[%s] انتهى في %s.\n
@@ -744,6 +797,11 @@
تصدير
تمديد كائنات JavaScript المدمجة
التمدد
+ تم استخراج assets الاضافة
+ تم استخراج مكتبات الاضافة
+ جارٍ استخراج asset الاضافة
+ جارٍ استخراج ملف so للاضافة
+ جارٍ استخراج APK القالب
باءت بالفشل
فشل في البناء
فشل في إنشاء مفتاح التوقيع
@@ -764,6 +822,7 @@
فشل في تسجيل
فشل في تقديم
فشل الجلب
+ فشل حفظ project.json
فشل حفظ المشروع البعيد في التخزين المحلي
فشل في إرسال إدخالات السجل
فشل التحديث
@@ -814,6 +873,7 @@
زر الإخفاء
إخفاء هذه العقدة
إخفاء العقدة ذات الإطار المماثل
+ تلميح
السجل
تم مسح السجل
أيقونة
@@ -869,6 +929,11 @@
أحدث حزمة
إطلاق التكوين
إطلاق الأخطاء
+ اظهار ايقونة التطبيق في المشغل
+ اظهار السجلات عند التشغيل
+ تشغيل السكربت عند الاقلاع
+ نص شعار شاشة البداية
+ اظهار شاشة البداية عند التشغيل
رمز المشغّل
اختصارات المشغل
قد يؤدي تبديل رموز المشغّل على بعض الأجهزة إلى فقدان جميع اختصارات AutoJs6 الحالية, يرجى المتابعة بحذر
@@ -984,9 +1049,9 @@
يسمح للتطبيق بإجراء عمليات الشراء داخل التطبيق
يسمح للتطبيق بالوصول إلى أجهزة Bluetooth
يسمح للتطبيق بتهيئة أجهزة Bluetooth
+ السماح للتطبيق بالإعلان عبر Bluetooth
السماح للتطبيق بالوصول إلى أجهزة Bluetooth وحالة الاتصال
السماح للتطبيق بالبحث عن أجهزة Bluetooth القريبة
- السماح للتطبيق بالإعلان عبر Bluetooth
يسمح للتطبيق بإرسال نية لإغلاق مربعات حوار النظام
يسمح للتطبيق بإجراء مكالمات هاتفية
يسمح للتطبيق بالوصول إلى الكاميرا
@@ -1070,15 +1135,28 @@
اسم الإدخال
الرجاء الانتظار...
يرجى المحاولة مرة أخرى لاحقًا...
+ مفعّل
+ يوصى بالتفعيل
+ تم رفض التفويض
+ يتطلب تفويضا
+ مفوّض
مركز الاضافات
تفاصيل الملحق
+ رسمي
+ موثوق
الاضافات
موقع المؤشر
فشل تبديل \"موقع المؤشر\".\nالوصول إلى الجذر مطلوب.
نشر الإخطارات
لضمان عمل خدمات المقدّمة في AutoJs6 وغيرها بشكل طبيعي، وتمكين السكربتات من نشر الإشعارات، يجب منح AutoJs6 إذن \"نشر الإشعارات\".
البرنامج النصي مسبقا
+ تحضير
+ اكتمل التحضير
خطة...
+ جارٍ تحضير مجلد assets
+ جارٍ تحضير اعدادات البناء
+ جارٍ تحضير keystore
+ جارٍ تحضير مساحة العمل
محتوى مربع الحوار المعين مسبقاً
عنوان مربع الحوار المعين مسبقاً
اضغط مرة أخرى لرفض الحوار
@@ -1087,14 +1165,19 @@
معاينة
سجل العملية
جارٍ المعالجة
+ جارٍ معالجة المصدر
مشروع
موقع المشروع
وصول وسائل الإعلام المشروع
مستعجل
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ جارٍ التقليم
يترك
+ جارٍ اعادة توقيع APK
+ جارٍ قراءة موارد شاشة البدء
مُستَحسَن
انتهى التسجيل
موجه التسجيل
@@ -1120,6 +1203,7 @@
يحل محل
استبدل كل شيء
يستبدل
+ جارٍ استبدال الملف
عنوان URL لمستودع امتداد VSCode
إرسال نجح
يتطلب إصدار Android OS %s (API %s) ولكن الحالي هو %s (API %s)
@@ -1128,6 +1212,7 @@
نجحت إعادة تعيين
إعادة تعيين في البداية
إعادة التعيين هي فقط للعينات
+ جارٍ تحليل مكتبات الاضافة الاصلية
إعادة بدء
استراتيجية إعادة التشغيل
استعادة
@@ -1169,6 +1254,7 @@
حفظ الاعدادات باسم
احفظ
حفظ في
+ جارٍ الحفظ...
المحرّك
تأخير البدء
تأخير طلب إذن التقاط الشاشة
@@ -1189,6 +1275,7 @@
حدد ملف للتحميل
حدد أيقونة
حدد صورة
+ الاضافة المحددة
إرسال
انشاء اختصار
وضع الخادم
@@ -1205,6 +1292,9 @@
عرض في حدود التصميم
عرض في التسلسل الهرمي للتخطيط
إظهار معلومات القطعة
+ توقيع
+ اكتمل التوقيع
+ اكتملت مرحلة التوقيع
خوارزمية التوقيع
تكوين التوقيع
خطة التوقيع
@@ -1222,6 +1312,7 @@
الوقت (الاحدث اولا)
المصدر
مسار رمز المصدر
+ اكتملت معالجة المصدر
أذونات خاصة
وضع مستقر
نجمة
@@ -1260,6 +1351,7 @@
مهمة توقيت
محرك جدولة المهام المؤقتة
توقيت
+ العنوان
قيد الاختيار
تبديل الكل
أدوات
@@ -1284,6 +1376,7 @@
وصف غير معروف
عنوان غير معروف
إصدار غير معروف
+ تم انشاء APK غير موقّع
لم يتم التحقق
قابل للتحديث
تحديث
@@ -1291,6 +1384,7 @@
تم مسح الحالات التي تم فحصها
في وقت لاحق
رأي
+ جارٍ تحديث اعدادات المشروع
الاستخدام الإحصائيات الوصول
استخدم اختصار Android 7.0
استخدام الرمز الافتراضي
@@ -1300,6 +1394,7 @@
اسم المستخدم لا يمكن أن يكون فارغًا
استخدم محدد DESC
استخدم محدد المعرف
+ جارٍ استخدام keystore
استخدم محدد النص
المدة (سنوات)
مدة الصلاحية لا يمكن أن تكون فارغة
@@ -1331,86 +1426,12 @@
مسار دليل العمل
اكتب إعدادات الأمان
كتابة إعدادات النظام
+ جارٍ كتابة ايقونة التطبيق
+ جارٍ كتابة manifest
+ جارٍ كتابة اعدادات المشروع
+ جارٍ كتابة resources.arsc
+ جارٍ كتابة APK الموقّع
النوافذ المنبثقة في الخلفية
لم يتم حفظ الاعدادات. هل تريد المتابعة?
لم يتم حفظ الاعدادات. هل تريد الخروج?
- فشل الحفظ
- جارٍ الحفظ...
- ": "
- فشل في تفعيل الاضافة
- معلومات الاستثناء
- تلميح
- جرّب الضغط على زر \"تفعيل\" لتفعيل الاضافة مرة واحدة.\nاذا نجح التفعيل، فسيتم تشغيل الزر تلقائيا خلال فترة زمنية معينة.
- تفعيل
- تم التفعيل بنجاح
- تفويض الاضافة
- هذه اضافة من طرف ثالث. يرجى الانتباه الى مصدر الاضافة وامان الاستخدام.\n\nاضغط زر \"تفويض\" لتمكين الاضافة.
- تفويض
- رسمي
- مفوّض
- يتطلب تفويضا
- تم رفض التفويض
- يوصى بالتفعيل
- مفعّل
- موثوق
- الالية
- الاضافة \"%1$s\" غير مُمكّنة في مركز الاضافات
- الاضافة \"%1$s\" غير مُفوّضة في مركز الاضافات
- لم يتم العثور على الاضافة \"%1$s\" ضمن التطبيقات المثبتة
- طريقة اتصال الاضافة غير مدعومة
- %1$s:
- العنوان
- المحتوى
- جارٍ بناء APK
- مسار APK المبني
- تنظيف
- توقيع
- بناء
- تحضير
- جارٍ تحضير مساحة العمل
- جارٍ استخراج APK القالب
- اكتمل التحضير
- جارٍ نسخ مجلد المشروع
- جارٍ نسخ ملف السكربت
- اكتملت معالجة المصدر
- جارٍ نسخ المجلد
- جارٍ نسخ الملف
- جارٍ تشفير السكربت
- جارٍ استبدال الملف
- جارٍ تحضير اعدادات البناء
- جارٍ قراءة موارد شاشة البدء
- جارٍ ضبط manifest
- جارٍ ضبط اسم الحزمة
- جارٍ نسخ assets الى
- جارٍ معالجة المصدر
- جارٍ تطبيق الموارد الثنائية
- جارٍ نسخ المكتبات الاصلية
- جارٍ تحديث اعدادات المشروع
- اكتملت مرحلة التوقيع
- جارٍ كتابة اعدادات المشروع
- جارٍ بناء الموارد
- اكتمل البناء
- جارٍ كتابة resources.arsc
- جارٍ كتابة manifest
- جارٍ كتابة ايقونة التطبيق
- جارٍ نسخ asset
- جارٍ تحضير مجلد assets
- جارٍ نسخ المكتبة
- جارٍ تحضير keystore
- تم انشاء APK غير موقّع
- جارٍ انشاء APK غير موقّع
- جارٍ استخدام keystore
- جارٍ اعادة توقيع APK
- جارٍ كتابة APK الموقّع
- اكتمل التوقيع
- اكتمل التنظيف
- جارٍ تنظيف مساحة العمل
- جارٍ تحليل مكتبات الاضافة الاصلية
- جارٍ نسخ المكتبات لـ ABI
- الاضافة المحددة
- تم استخراج مكتبات الاضافة
- تم استخراج assets الاضافة
- جارٍ استخراج asset الاضافة
- جارٍ استخراج ملف so للاضافة
- يتطلب تسجيل السكربتات توفر شرط واحد على الاقل مما يلي:\n- صلاحيات Root\n- صلاحيات Shizuku
\ No newline at end of file
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 76e8e9ab..673f03fa 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -114,9 +114,11 @@
Abandon
Abort
Abort
+ Activate
Add
Advanced
Amend
+ Authorize
@string/text_back
Cancel
Cancel
@@ -226,6 +228,7 @@
Failed to check for updates
Colon must follow a valid IP address
Compass cannot be null
+ Script recording requires at least one of the following conditions:\n- Root access\n- Shizuku access
Cannot connect to the remote server: %s
Failed to connect to \"%1$s\".
Connection timed out after %d ms
@@ -249,6 +252,7 @@
Failed to convert value %s into a Drawable
Failed to copy
Failed to create
+ Failed to enable the plugin
Failed to open the settings page
Failed to grant Shizuku access
Failed to instantiate \"%s\"
@@ -265,6 +269,7 @@
Failed to retrieve version.properties to parse version information
Failed to revoke Shizuku access
Failed to run script
+ Failed to save
Failed to save project config
File in path \"%1$s\" does not exist
UI thread cannot be blocked. Try running %s() in sub-thread or sub-script
@@ -325,6 +330,9 @@
Invalid pattern syntax
Plugin APK does not contain required assets for variant=\"%1$s\": %2$s.
Plugin APK does not contain required native libraries: %1$s.
+ Plugin \"%1$s\" is not authorized in Plugin Center
+ Plugin \"%1$s\" is not enabled in Plugin Center
+ Plugin \"%1$s\" not found in installed apps
%1$s plugin returned empty info.
%1$s plugin returned invalid variant: %2$s.
Port number over 65535
@@ -366,6 +374,7 @@
Unknown result type {name: %s, params: %s}
Unknown selector {name: %s, type: %s}
Unknown type: %s
+ Unsupported plugin connection
Format WebP-Lossless cannot be compressed with a quality parameter, use JPEG/PNG/WebP-Lossy instead
File does not exist or readable
File does not exist or readable: %s
@@ -382,6 +391,7 @@
Delay before loop
0 for infinite loop
IPv4, IPv6 and domain are supported.
+ Try clicking the \"Activate\" button to activate the plugin once.\nIf activation is successful, the button will automatically turn on within a certain period of time.
Enter a URL pointing to a remote plugin address.\nFor example \"https://example.com/plugin.apk\".
Delete permanently
Move to trash
@@ -428,6 +438,7 @@
Last install
Last uninstall
Last update
+ Mechanism
Package size
Updatable ver.
Are you sure to ignore current update version?\nYou can manage all ignored versions by app settings.
@@ -458,6 +469,7 @@
Add shortcuts to launcher
Start or stop recording controlled by \"Volume Down\" key when floating button is showing
Press \"Volume Up\" key to stop all running scripts
+ ": "
Internal Storage
Accessibility service
Required by the script automatic operation (click, long press, slide, etc.).
@@ -480,6 +492,7 @@
Scroll forward (scrollForward)
Set text (setText)
Action
+ Activated successfully
No APK installer
ADB tool is needed
Add a color library
@@ -539,8 +552,11 @@
App version code
App version name
Appearance
+ Applying binary resources
At least one field from [Full Name, Organization Name, Organizational Unit, Country Code, State or Province, City or Locality, Street] must be filled
Attribute
+ Authorize Plugin
+ This is a third-party plugin. Please pay attention to the plugin source and usage safety.\n\nClick the \"Authorize\" button to enable the plugin.
Auto check for updates
Check for updates automatically and show a snackbar on homepage
Auto night mode
@@ -549,8 +565,27 @@
Back
Action
Broadcast task
+ Build
Build APK
+ Build completed
+ Build profile
+ Default profile cannot be deleted
+ project.json profile cannot be deleted
+ Delete profile
+ Profile fields
+ Configure profile fields
+ Checked fields are saved as fixed values in this profile.
+ More profile actions
+ Cannot use reserved profile names (Default, project.json)
+ Build profile name
+ New profile
+ Current build configuration has unsaved changes.
+ Current build configuration has unsaved changes and will be written to project.json.
+ Save changes before continuing?
Build succeeded
+ Building APK
+ Building resources
+ Built APK file path
Cancel
Cancel
Default profile cannot be deleted
@@ -582,6 +617,9 @@
Choose restore path
City or Locality
Class / Package name
+ Clean
+ Clean completed
+ Cleaning workspace
Clear
Clear file selection
Clear pre-execute script
@@ -610,6 +648,8 @@
Compatibility
Confidence
Config
+ Configuring manifest
+ Configuring package name
Are you sure to clear all items?
Are you sure to clear the history?
The history below will be cleared\n\n[ %1$s ]\n\nAre you sure to clear?
@@ -625,6 +665,7 @@
Connection cannot be established
Connection failed
Console
+ Content
Continue
Copy
Copy all
@@ -639,8 +680,18 @@
Copy to clipboard
Copy value
Copying...
+ Copying asset
+ Copying assets to
+ Copying directory
+ Copying file
+ Copying libraries for ABI
+ Copying library
+ Copying native libraries
+ Copying project directory
+ Copying script file
Country Code (XX)
Country code must be two capital letters
+ Creating unsigned APK
Current page configuration
Current version
Daily task
@@ -723,10 +774,12 @@
Enable accessibility service with secure settings timed out
Enable plugin
Enabled
+ Encrypting script
Error
Failed to copy file: %s
Bug report
Estimated
+ Exception info
Execute
Execute code
[%s] finished in %s seconds.\n
@@ -739,6 +792,11 @@
Exported
Extending JavaScript build-in objects
Extensibility
+ Extracted plugin assets
+ Extracted plugin libraries
+ Extracting plugin asset
+ Extracting plugin so
+ Extracting template APK
Failed
Failed to build
Failed to create signature key
@@ -759,6 +817,7 @@
Failed to register
Failed to submit
Failed to retrieve
+ Failed to save project.json
Failed to save remote project to local storage
Failed to send log entries
Failed to update
@@ -809,6 +868,7 @@
Hide button
Hide this node
Hide same frame nodes
+ Hint
History
The history has been cleared
Icon
@@ -864,6 +924,11 @@
Latest package
Launch config
Launch debugger
+ Show app icon in launcher
+ Show logs on launch
+ Run script on boot
+ Splash slug text
+ Show splash screen on launch
Launcher icon
Launcher shortcuts
Switching launcher icons on some devices may cause all existing AutoJs6 shortcuts to be lost, please proceed with caution
@@ -979,9 +1044,9 @@
Allow the app to perform in-app purchases
Allow the app to access Bluetooth devices
Allow the app to configure Bluetooth devices
+ Allow the app to advertise via Bluetooth
Allow the app to access Bluetooth devices and connection state
Allow the app to scan for nearby Bluetooth devices
- Allow the app to advertise via Bluetooth
Allow the app to send an intent to close system dialogs
Allow the app to make phone calls
Allow the app to access the camera
@@ -1065,15 +1130,28 @@
Input name
Please wait...
Please wait a moment before trying again...
+ Activated
+ Activation recommended
+ Authorization denied
+ Authorization required
+ Authorized
Plugin center
Plugin details
+ Official
+ Trusted
Plugins
Pointer location
Toggle \"pointer location\" failed.\nRoot access is required.
Post notifications
To ensure that AutoJs6 foreground services, etc. can work properly and that scripts can post notifications, AutoJs6 must be granted the \"post notifications\" permission.
Pre-execute script
+ Prepare
+ Prepare completed
Preparing...
+ Preparing assets dir
+ Preparing build config
+ Preparing keystore
+ Preparing workspace
Preset dialog content
Preset dialog title
Press again to dismiss the dialog
@@ -1082,14 +1160,19 @@
Preview
Process log
Processing
+ Processing source
Project
Project location
Project media access
Prompt
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ Pruning
Quit
+ Re-signing APK
+ Reading splash resources
Recommended
Recording finished
Recording prompt
@@ -1115,6 +1198,7 @@
Replace
Replace all
Replace
+ Replacing file
Repository URL of VSCode extension
Submit succeeded
Requires Android OS version %s (API %s) but current is %s (API %s)
@@ -1123,6 +1207,7 @@
Reset succeeded
Reset initially
Reset is only for samples
+ Resolving plugin native libraries
Restart
Restart strategy
Restore
@@ -1164,6 +1249,7 @@
Save configuration as
Save
Save to
+ Saving...
Backend
Start delay
Screen capture permission request delay
@@ -1184,6 +1270,7 @@
Select file to upload
Select icon
Select an image
+ Selected plugin
Send
Create shortcut
Server mode
@@ -1200,6 +1287,9 @@
View in layout bounds
View in layout hierarchy
Show widget information
+ Sign
+ Sign completed
+ Sign stage completed
Signature Algorithm
Signature Configuration
Signature Scheme
@@ -1217,6 +1307,7 @@
Time (newest first)
Source
Source code path
+ Source processing completed
Special permissions
Stable mode
Star
@@ -1255,6 +1346,7 @@
Timed task
Timed task scheduling engine
Timing
+ Title
To be chosen
Toggle all
Tools
@@ -1279,6 +1371,7 @@
Unknown Description
Unknown Title
Unknown Version
+ Unsigned APK created
Unverified
Updatable
Update
@@ -1286,6 +1379,7 @@
Updates checked states cleared
Later
View
+ Updating project config
Usage stats access
Use Android 7.0 shortcut
Use default icon
@@ -1295,6 +1389,7 @@
Username cannot be empty
Use desc selector
Use id selector
+ Using keystore
Use text selector
Validity (Years)
Validity years cannot be empty
@@ -1326,86 +1421,12 @@
Working directory path
Write security settings
Write system settings
+ Writing app icon
+ Writing manifest
+ Writing project config
+ Writing resources.arsc
+ Writing signed APK
Display pop-up windows while running in the background
The settings has not been saved, are you sure to continue the operation?
The settings has not been saved, are you sure to exit?
- Failed to save
- Saving...
- ": "
- Failed to enable the plugin
- Exception info
- Hint
- Try clicking the \"Activate\" button to activate the plugin once.\nIf activation is successful, the button will automatically turn on within a certain period of time.
- Activate
- Activated successfully
- Authorize Plugin
- This is a third-party plugin. Please pay attention to the plugin source and usage safety.\n\nClick the \"Authorize\" button to enable the plugin.
- Authorize
- Official
- Authorized
- Authorization required
- Authorization denied
- Activation recommended
- Activated
- Trusted
- Mechanism
- Plugin \"%1$s\" is not enabled in Plugin Center
- Plugin \"%1$s\" is not authorized in Plugin Center
- Plugin \"%1$s\" not found in installed apps
- Unsupported plugin connection
- %1$s:
- Title
- Content
- Building APK
- Built APK file path
- Clean
- Sign
- Build
- Prepare
- Preparing workspace
- Extracting template APK
- Prepare completed
- Copying project directory
- Copying script file
- Source processing completed
- Copying directory
- Copying file
- Encrypting script
- Replacing file
- Preparing build config
- Reading splash resources
- Configuring manifest
- Configuring package name
- Copying assets to
- Processing source
- Applying binary resources
- Copying native libraries
- Updating project config
- Sign stage completed
- Writing project config
- Building resources
- Build completed
- Writing resources.arsc
- Writing manifest
- Writing app icon
- Copying asset
- Preparing assets dir
- Copying library
- Preparing keystore
- Unsigned APK created
- Creating unsigned APK
- Using keystore
- Re-signing APK
- Writing signed APK
- Sign completed
- Clean completed
- Cleaning workspace
- Resolving plugin native libraries
- Copying libraries for ABI
- Selected plugin
- Extracted plugin libraries
- Extracted plugin assets
- Extracting plugin asset
- Extracting plugin so
- Script recording requires at least one of the following conditions:\n- Root access\n- Shizuku access
\ No newline at end of file
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 97257bf5..fcbc6388 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -117,9 +117,11 @@
Abandonar
Abortar
Interrumpir conexión
+ Activar
Anadir
Avanzado
Corregir dirección
+ Autorizar
@string/text_back
Cancelar
Cancelar
@@ -229,6 +231,7 @@
Fallo en la comprobación de las actualizaciones
Dos puntos deben seguir a una dirección IP válida
La brújula no puede ser nula
+ La grabacion de scripts requiere al menos una de las siguientes condiciones:\n- Acceso root\n- Acceso Shizuku
No se puede conectar con el servidor remoto: %s
No se pudo conectar a \"%1$s\".
La conexión agotó el tiempo de espera (%d ms)
@@ -252,6 +255,7 @@
Fallo al convertir el valor %s en un Dibujable
Error al copiar
Fallo al crear
+ No se pudo activar el plugin
No se pudo abrir la página de ajustes
Fallo en la concesión de permisos Shizuku
Error al instanciar \"%s\"
@@ -268,6 +272,7 @@
No se pudo obtener version.properties para analizar la información de la versión
Fallo en la revocación de permisos Shizuku
Error al ejecutar el script
+ Error al guardar
No se pudo guardar la configuración del proyecto
El archivo en la ruta \"%1$s\" no existe
El hilo de la interfaz de usuario no se puede bloquear. Intenta ejecutar %s() en un subhilo o subguión
@@ -328,6 +333,9 @@
Sintaxis de patrón no válida
El APK del plugin no contiene los recursos necesarios para variant=\"%1$s\": %2$s.
El APK del plugin no contiene las bibliotecas nativas requeridas: %1$s.
+ El plugin \"%1$s\" no esta autorizado en el Centro de plugins
+ El plugin \"%1$s\" no esta habilitado en el Centro de plugins
+ No se encontro el plugin \"%1$s\" en las apps instaladas
El plugin %1$s devolvió información vacía.
El plugin %1$s devolvió una variante no válida: %2$s.
Número de puerto superior a 65535
@@ -369,6 +377,7 @@
Tipo de resultado desconocido {nombre: %s, parámetro: %s}
Selector desconocido {nombre: %s, tipo: %s}
Tipo desconocido: %s
+ Conexion de plugin no compatible
El formato WebP-Lossless no se puede comprimir con un parámetro de calidad; usa JPEG/PNG/WebP-Lossy en su lugar
El archivo no existe o no se puede leer
El archivo no existe o no se puede leer: %s
@@ -385,6 +394,7 @@
Retraso antes del bucle
0 para bucle infinito
Se admiten IPv4, IPv6 y dominios.
+ Prueba a pulsar el boton \"Activar\" para activar el plugin una vez.\nSi la activacion se realiza correctamente, el boton se activara automaticamente en un periodo de tiempo.
Introduce una URL que apunte a la dirección de un complemento remoto.\nPor ejemplo, \"https://example.com/plugin.apk\".
Eliminar definitivamente
Mover a la papelera
@@ -431,6 +441,7 @@
Última inst.
Última desinst.
Última act.
+ Mecanismo
Tamaño paquete
Vers. actualiz.
¿Está seguro de ignorar la versión actual de la actualización?\nPuedes gestionar todas las versiones ignoradas en los ajustes de la aplicación.
@@ -461,6 +472,7 @@
Añadir accesos directos al lanzador
Iniciar o detener la grabación controlada por la tecla de bajar el volumen cuando se muestra el botón flotante
Pulse la tecla \"Subir volumen\" para detener todos los scripts en ejecución
+ ": "
Almacenamiento interno
Servicio de accesibilidad
Requerido por el funcionamiento automático del script (clic, pulsación larga, deslizamiento, etc.).
@@ -483,6 +495,7 @@
Desplazamiento hacia delante (scrollForward)
Establecer texto (setText)
Acción
+ Activado correctamente
No hay instalador de APK
Se necesita la herramienta ADB
Agregar biblioteca de colores
@@ -542,8 +555,11 @@
Código de la versión de la aplicación
Nombre de la versión de la aplicación
Aspecto
+ Aplicando recursos binarios
Al menos uno de los campos [Nombre completo, Nombre de la organización, Unidad organizacional, Código de país, Estado o provincia, Ciudad o localidad, Calle] debe estar lleno
Atributo
+ Autorizar plugin
+ Este es un plugin de terceros. Presta atencion al origen del plugin y a la seguridad de uso.\n\nPulsa el boton \"Autorizar\" para habilitar el plugin.
Comprobación automática de actualizaciones
Comprueba las actualizaciones automáticamente y muestra una barra de snacks en la página de inicio
Modo nocturno automático
@@ -552,8 +568,27 @@
Volver
Acción
Tarea de difusión
+ Compilar
Construir APK
+ Compilacion completada
+ Perfil de compilacion
+ No se puede eliminar el perfil predeterminado
+ No se puede eliminar el perfil project.json
+ Eliminar perfil
+ Campos del perfil
+ Configurar campos del perfil
+ Los campos marcados se guardaran como valores fijos en este perfil.
+ Mas acciones del perfil
+ No se pueden usar nombres reservados de perfil (Default, project.json)
+ Nombre del perfil de compilacion
+ Nuevo perfil
+ La configuracion de compilacion actual tiene cambios sin guardar.
+ La configuracion de compilacion actual tiene cambios sin guardar y se escribira en project.json.
+ ¿Guardar los cambios antes de continuar?
Construir con éxito
+ Compilando APK
+ Compilando recursos
+ Ruta del APK generado
Cancelar
Cancel
No se puede eliminar el perfil predeterminado
@@ -585,6 +620,9 @@
Elegir ruta de restauracion
Ciudad o localidad
Nombre de la clase/paquete
+ Limpiar
+ Limpieza completada
+ Limpiando el espacio de trabajo
Borrar
Borrar selección de archivos
Borrar script de pre-ejecución
@@ -613,6 +651,8 @@
Compatibilidad
Confianza
Configuración
+ Configurando manifest
+ Configurando nombre de paquete
¿Seguro que desea borrar todos los elementos?
¿Seguro que quieres borrar el historial?
Se borrara el historial siguiente\n\n[ %1$s ]\n\n¿Seguro que quieres borrarlo?
@@ -628,6 +668,7 @@
No se puede establecer la conexión
Conexión fallida
Consola
+ Contenido
Continuar
Copiar
Copiar todo
@@ -642,8 +683,18 @@
Copiar al portapapeles
Copiar valor
Copiando...
+ Copiando asset
+ Copiando assets a
+ Copiando directorio
+ Copiando archivo
+ Copiando bibliotecas para ABI
+ Copiando biblioteca
+ Copiando bibliotecas nativas
+ Copiando directorio del proyecto
+ Copiando archivo de script
Código de país (XX)
El código del país debe ser de dos letras mayúsculas
+ Creando APK sin firmar
Configuracion de la pagina actual
Versión actual
Tarea diaria
@@ -726,10 +777,12 @@
Habilitación del servicio de accesibilidad con configuración segura agotada
Activar complemento
Activado
+ Cifrando script
Error
No se ha podido copiar el archivo: %s
Informe de error
Estimado
+ Info de la excepcion
Ejecutar
Ejecutar código
[%s] terminó en %s segundos.\n
@@ -742,6 +795,11 @@
Exportado
Extensión de los objetos incorporados de JavaScript
Extensibilidad
+ Assets del plugin extraidos
+ Bibliotecas del plugin extraidas
+ Extrayendo asset del plugin
+ Extrayendo archivo so del plugin
+ Extrayendo APK plantilla
Falló
Fallo en la construcción
Error al crear la clave de firma
@@ -762,6 +820,7 @@
Fallo en el registro
Fallo al enviar
Error al obtener
+ No se pudo guardar project.json
Error al guardar el proyecto remoto en el almacenamiento local
Error al enviar entradas de registro
Error al actualizar
@@ -812,6 +871,7 @@
Botón de ocultar
Ocultar este nodo
Ocultar nodo del mismo marco
+ Sugerencia
Historial
El historial se ha borrado
Icono
@@ -867,6 +927,11 @@
Último paquete
Iniciar la configuración
Iniciar el depurador
+ Mostrar icono de la app en el lanzador
+ Mostrar registros al iniciar
+ Ejecutar script al iniciar
+ Texto del lema de inicio
+ Mostrar pantalla de inicio al iniciar
Ícono del iniciador
Atajos del lanzador
Cambiar los íconos del iniciador en algunos dispositivos puede provocar la pérdida de todos los accesos directos existentes de AutoJs6, proceda con precaución
@@ -982,9 +1047,9 @@
Permitir que la aplicación realice compras dentro de la aplicación
Permitir que la aplicación acceda a dispositivos Bluetooth
Permitir que la aplicación configure dispositivos Bluetooth
+ Permitir que la aplicación se anuncie mediante Bluetooth
Permitir que la aplicación acceda a los dispositivos Bluetooth y al estado de conexión
Permitir que la aplicación busque dispositivos Bluetooth cercanos
- Permitir que la aplicación se anuncie mediante Bluetooth
Permitir que la aplicación envíe una intención para cerrar los cuadros de diálogo del sistema
Permitir que la aplicación realice llamadas telefónicas
Permitir que la aplicación acceda a la cámara
@@ -1068,15 +1133,28 @@
Nombre de entrada
Por favor, espere...
Por favor, inténtalo de nuevo más tarde...
+ Activado
+ Activacion recomendada
+ Autorizacion denegada
+ Requiere autorizacion
+ Autorizado
Centro de plugins
Detalles del complemento
+ Oficial
+ Confiable
Plugins
Ubicación del puntero
Falló la conmutación de la \"ubicación del puntero\".\nSe requiere acceso a la raíz.
Notificaciones postales
Para garantizar que los servicios en primer plano de AutoJs6, etc. funcionen correctamente y que los scripts puedan publicar notificaciones, AutoJs6 debe recibir el permiso de \"publicar notificaciones\".
Ejecutar previamente el script
+ Preparar
+ Preparacion completada
Preparando...
+ Preparando dir de assets
+ Preparando configuracion de compilacion
+ Preparando keystore
+ Preparando el espacio de trabajo
Contenido del diálogo predefinido
Título de diálogo predefinido
Pulse de nuevo para salir del diálogo
@@ -1085,14 +1163,19 @@
Vista previa
Registro de proceso
Procesando
+ Procesando codigo fuente
Proyecto
Ubicación del proyecto
Acceso a los medios del proyecto
Indicación
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ Recortando
Salga de
+ Re-firmando APK
+ Leyendo recursos de inicio
Recomendado
Grabación terminada
Aviso de grabación
@@ -1118,6 +1201,7 @@
Reemplazar
Reemplazar todo
Sustit
+ Reemplazando archivo
URL del repositorio de la extensión VSCode
Enviar con éxito
Requiere la versión del sistema operativo Android %s (API %s) pero la actual es %s (API %s)
@@ -1126,6 +1210,7 @@
Restablecer con éxito
Restablecer inicialmente
El restablecimiento es sólo para las muestras
+ Resolviendo bibliotecas nativas del plugin
Reiniciar
Estrategia de reinicio
Restaurar
@@ -1167,6 +1252,7 @@
Guardar configuracion como
Guarda
Guardar en
+ Guardando...
Motor
Retraso de inicio
Retraso de solicitud del permiso de captura de pantalla
@@ -1187,6 +1273,7 @@
Seleccionar el archivo a cargar
Seleccionar un icono
Seleccionar una imagen
+ Plugin seleccionado
Enviar
Crear acceso directo
Modo servidor
@@ -1203,6 +1290,9 @@
Vista en los límites del diseño
Vista en la jerarquía del diseño
Mostrar información del widget
+ Firmar
+ Firma completada
+ Etapa de firma completada
Algoritmo de firma
Configuración de firma
Esquema de firma
@@ -1220,6 +1310,7 @@
Hora (mas reciente primero)
Origen
Ruta del código fuente
+ Procesamiento del codigo fuente completado
Permisos especiales
Modo estable
Estrella
@@ -1258,6 +1349,7 @@
Tarea cronometrada
Motor de programación de tareas temporizadas
Cronometraje
+ Titulo
Por elegir
Alternar todo
Herramientas
@@ -1282,6 +1374,7 @@
Descripción Desconocida
Título Desconocido
Versión Desconocida
+ APK sin firmar creado
No verificado
Actualizable
Actualizar
@@ -1289,6 +1382,7 @@
Actualizaciones comprobadas estados borrados
Más adelante
Ver
+ Actualizando configuracion del proyecto
Acceso a las estadísticas de uso
Utiliza el acceso directo de Android 7.0
Usar icono predeterminado
@@ -1298,6 +1392,7 @@
El nombre de usuario no puede estar vacío
Usar selector de desc
Usar el selector id
+ Usando keystore
Usar selector de texto
Validez (años)
El número de años de validez no puede estar vacío
@@ -1329,86 +1424,12 @@
Ruta del directorio de trabajo
Escribir la configuración de seguridad
Escribir la configuración del sistema
+ Escribiendo icono de la app
+ Escribiendo manifest
+ Escribiendo configuracion del proyecto
+ Escribiendo resources.arsc
+ Escribiendo APK firmado
Ventanas emergentes en segundo plano
La configuracion no se ha guardado. ¿Seguro que quieres continuar?
La configuracion no se ha guardado. ¿Seguro que quieres salir?
- Error al guardar
- Guardando...
- ": "
- No se pudo activar el plugin
- Info de la excepcion
- Sugerencia
- Prueba a pulsar el boton \"Activar\" para activar el plugin una vez.\nSi la activacion se realiza correctamente, el boton se activara automaticamente en un periodo de tiempo.
- Activar
- Activado correctamente
- Autorizar plugin
- Este es un plugin de terceros. Presta atencion al origen del plugin y a la seguridad de uso.\n\nPulsa el boton \"Autorizar\" para habilitar el plugin.
- Autorizar
- Oficial
- Autorizado
- Requiere autorizacion
- Autorizacion denegada
- Activacion recomendada
- Activado
- Confiable
- Mecanismo
- El plugin \"%1$s\" no esta habilitado en el Centro de plugins
- El plugin \"%1$s\" no esta autorizado en el Centro de plugins
- No se encontro el plugin \"%1$s\" en las apps instaladas
- Conexion de plugin no compatible
- %1$s:
- Titulo
- Contenido
- Compilando APK
- Ruta del APK generado
- Limpiar
- Firmar
- Compilar
- Preparar
- Preparando el espacio de trabajo
- Extrayendo APK plantilla
- Preparacion completada
- Copiando directorio del proyecto
- Copiando archivo de script
- Procesamiento del codigo fuente completado
- Copiando directorio
- Copiando archivo
- Cifrando script
- Reemplazando archivo
- Preparando configuracion de compilacion
- Leyendo recursos de inicio
- Configurando manifest
- Configurando nombre de paquete
- Copiando assets a
- Procesando codigo fuente
- Aplicando recursos binarios
- Copiando bibliotecas nativas
- Actualizando configuracion del proyecto
- Etapa de firma completada
- Escribiendo configuracion del proyecto
- Compilando recursos
- Compilacion completada
- Escribiendo resources.arsc
- Escribiendo manifest
- Escribiendo icono de la app
- Copiando asset
- Preparando dir de assets
- Copiando biblioteca
- Preparando keystore
- APK sin firmar creado
- Creando APK sin firmar
- Usando keystore
- Re-firmando APK
- Escribiendo APK firmado
- Firma completada
- Limpieza completada
- Limpiando el espacio de trabajo
- Resolviendo bibliotecas nativas del plugin
- Copiando bibliotecas para ABI
- Plugin seleccionado
- Bibliotecas del plugin extraidas
- Assets del plugin extraidos
- Extrayendo asset del plugin
- Extrayendo archivo so del plugin
- La grabacion de scripts requiere al menos una de las siguientes condiciones:\n- Acceso root\n- Acceso Shizuku
\ No newline at end of file
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 6aec4e23..e531b116 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -117,9 +117,11 @@
Abandonner
Interrompre
Interrompre la connexion
+ Activer
Ajouter
Avancé
Corriger l\'adresse
+ Autoriser
@string/text_back
Cancel
Annulation
@@ -229,6 +231,7 @@
Fail to check for updates
Les deux points doivent suivre une adresse IP valide
Compass ne peut pas être null
+ L\'enregistrement de scripts necessite au moins l\'une des conditions suivantes:\n- Acces root\n- Acces Shizuku
Impossible de se connecter au serveur distant : %s
Échec de la connexion à \"%1$s\".
Délai de connexion dépassé (%d ms)
@@ -252,6 +255,7 @@
Échec de la conversion de la valeur %s en un objet à dessiner
Échec de la copie
Fail to create
+ Echec de l\'activation du plugin
Échec d\'ouverture de la page des paramètres
Échec de l\'octroi de la permission de Shizuku
Échec de l\'instanciation de \"%s\"
@@ -268,6 +272,7 @@
Impossible de récupérer version.properties pour analyser les informations de version
La révocation des droits de Shizuku a échoué
Échec de l\'exécution du script
+ Echec de l\'enregistrement
Échec de l\'enregistrement de la configuration du projet
Le fichier dans le chemin \"%1$s\" n\'existe pas
Le thread d\'interface utilisateur ne peut pas être bloqué. Essayez d\'exécuter %s() dans un sous-fil ou un sous-script.
@@ -328,6 +333,9 @@
Syntaxe de motif invalide
L\'APK du plugin ne contient pas les ressources requises pour variant=\"%1$s\" : %2$s.
L\'APK du plugin ne contient pas les bibliothèques natives requises : %1$s.
+ Le plugin \"%1$s\" n\'est pas autorise dans le Centre des plugins
+ Le plugin \"%1$s\" n\'est pas active dans le Centre des plugins
+ Plugin \"%1$s\" introuvable parmi les applis installees
Le plugin %1$s a renvoyé des informations vides.
Le plugin %1$s a renvoyé une variante invalide : %2$s.
Numéro de port supérieur à 65535
@@ -369,6 +377,7 @@
Type de résultat inconnu {nom : %s, params : %s}
Sélecteur inconnu {nom : %s, type : %s}
Type inconnu : %s
+ Connexion de plugin non prise en charge
Le format WebP-Lossless ne peut pas être compressé avec un paramètre de qualité ; utilisez plutôt JPEG/PNG/WebP-Lossy
Le fichier n\'existe pas ou n\'est pas lisible
Le fichier n\'existe pas ou n\'est pas lisible : %s
@@ -385,6 +394,7 @@
Délai avant boucle
0 pour une boucle infinie
IPv4, IPv6 et les noms de domaine sont pris en charge.
+ Essayez d\'appuyer sur le bouton \"Activer\" pour activer le plugin une fois.\nSi l\'activation reussit, le bouton s\'activera automatiquement dans un certain delai.
Saisissez une URL pointant vers l\'adresse d\'un plugin distant.\nPar exemple \"https://example.com/plugin.apk\".
Supprimer definitivement
Deplacer vers la corbeille
@@ -431,6 +441,7 @@
Dern. inst.
Dern. désinst.
Dern. maj
+ Mecanisme
Taille du paquet
Ver. maj disp.
Êtes-vous sûr d\'ignorer la version de mise à jour actuelle?\nVous pouvez gérer toutes les versions ignorées dans les paramètres de l\'application.
@@ -461,6 +472,7 @@
Ajouter des raccourcis au lanceur
Démarrer ou arrêter l\'enregistrement contrôlé par la touche de réduction du volume lorsque le bouton flottant est affiché.
Appuyez sur la touche \"Volume fort\" pour arrêter tous les scripts en cours d\'exécution.
+ " : "
Stockage interne
Service d\'accessibilité
Requise par le fonctionnement automatique du script (clic, appui long, glissement, etc.).
@@ -483,6 +495,7 @@
Scroll forward (scrollForward)
Définir le texte (setText)
Action
+ Activation reussie
Pas d\'installateur d\'APK
L\'outil ADB est nécessaire
Ajouter une bibliothèque de couleurs
@@ -542,8 +555,11 @@
Code de la version de l\'application
Nom de la version de l\'application
Appearance
+ Application des ressources binaires
Au moins un champ parmi [Nom complet, Nom de l\'organisation, Unité organisationnelle, Code du pays, État ou province, Ville ou localité, Rue] doit être renseigné
Attribut
+ Autoriser le plugin
+ Il s\'agit d\'un plugin tiers. Faites attention a la source du plugin et a la securite d\'utilisation.\n\nAppuyez sur le bouton \"Autoriser\" pour activer le plugin.
Vérification automatique des mises à jour
Vérification automatique des mises à jour et affichage d\'un snackbar sur la page d\'accueil
Mode nuit automatique
@@ -552,8 +568,27 @@
Retour
Action
Tâche de diffusion
+ Compiler
Construire un APK
+ Build termine
+ Profil de build
+ Le profil par defaut ne peut pas etre supprime
+ Le profil project.json ne peut pas etre supprime
+ Supprimer le profil
+ Champs du profil
+ Configurer les champs du profil
+ Les champs coches sont enregistres comme valeurs fixes dans ce profil.
+ Plus d\'actions du profil
+ Impossible d\'utiliser des noms de profil reserves (Default, project.json)
+ Nom du profil de build
+ Nouveau profil
+ La configuration de build actuelle contient des modifications non enregistrees.
+ La configuration de build actuelle contient des modifications non enregistrees et sera ecrite dans project.json.
+ Enregistrer les modifications avant de continuer?
Construction réussie
+ Compilation de l\'APK
+ Compilation des ressources
+ Chemin de l\'APK genere
Annulation
Annul
Le profil par defaut ne peut pas etre supprime
@@ -585,6 +620,9 @@
Choisir le chemin de restauration
Ville ou localité
Nom de la classe ou du paquet
+ Nettoyer
+ Nettoyage termine
+ Nettoyage de l\'espace de travail
Clear
Effacer la sélection de fichiers
Effacer le script de pré-exécution
@@ -613,6 +651,8 @@
Compatibilité
Confiance
Configuration
+ Configuration du manifest
+ Configuration du nom de package
Voulez-vous vraiment effacer tous les éléments ?
Confirmer l\'effacement de l\'historique?
L\'historique ci-dessous sera efface\n\n[ %1$s ]\n\nConfirmer l\'effacement?
@@ -628,6 +668,7 @@
La connexion ne peut pas être établie
Échec de la connexion
Console
+ Contenu
Continue
Copie
Copier tout
@@ -642,8 +683,18 @@
Copie vers le presse-papiers
Copie de la valeur
Copie...
+ Copie d\'asset
+ Copie des assets vers
+ Copie du repertoire
+ Copie du fichier
+ Copie des bibliotheques pour ABI
+ Copie de bibliotheque
+ Copie des bibliotheques natives
+ Copie du repertoire du projet
+ Copie du fichier de script
Code du pays (XX)
Le code du pays doit être composé de deux lettres majuscules
+ Creation de l\'APK non signe
Config de la page
Version actuelle
Tâche quotidienne
@@ -726,10 +777,12 @@
Activer le service d\'accessibilité avec des paramètres sécurisés temporairement.
Activer le plugin
Activé
+ Chiffrement du script
Erreur
Failed to copy file : %s
Rapport de bug
Estimé
+ Infos de l\'exception
Exécuter
Exécuter le code
[%s] finished in %s seconds.\n
@@ -742,6 +795,11 @@
Exporté
Extension des objets intégrés de JavaScript
Extensibilité
+ Assets du plugin extraits
+ Bibliotheques du plugin extraites
+ Extraction d\'asset du plugin
+ Extraction du fichier so du plugin
+ Extraction de l\'APK modele
Failed
Failed to build
Échec de la création de la clé de signature
@@ -762,6 +820,7 @@
Failed to register
Failed to submit
Échec de la récupération
+ Echec de l\'enregistrement de project.json
Échec de l\'enregistrement du projet distant dans le stockage local
Échec de l\'envoi des entrées de journal
Échec de la mise à jour
@@ -812,6 +871,7 @@
Bouton de cacher
Masquer ce nœud
Masquer le nœud du même cadre
+ Astuce
Historique
L\'historique a ete efface
Icône
@@ -867,6 +927,11 @@
Dernier paquet
Launch config
Launch debugger
+ Afficher l\'icone de l\'appli dans le lanceur
+ Afficher les logs au lancement
+ Executer le script au demarrage
+ Texte du slogan de l\'ecran de demarrage
+ Afficher l\'ecran de demarrage au lancement
Icône du lanceur
Raccourcis du lanceur
Le changement de l\'icône du lanceur sur certains appareils peut entraîner la perte de tous les raccourcis AutoJs6 existants, veuillez procéder avec prudence
@@ -982,9 +1047,9 @@
Autoriser l\'application à effectuer des achats intégrés
Autoriser l\'application à accéder aux périphériques Bluetooth
Autoriser l\'application à configurer les périphériques Bluetooth
+ Autoriser l\'application à se rendre visible via Bluetooth
Autoriser l\'application à accéder aux périphériques et à l\'état de connexion Bluetooth
Autoriser l\'application à rechercher des périphériques Bluetooth à proximité
- Autoriser l\'application à se rendre visible via Bluetooth
Autoriser l\'application à envoyer une intention pour fermer les boîtes de dialogue système
Autoriser l\'application à passer des appels téléphoniques
Autoriser l\'application à accéder à la caméra
@@ -1068,15 +1133,28 @@
Nom de l\'entrée
Veuillez patienter...
Veuillez réessayer cette opération plus tard...
+ Active
+ Activation recommandee
+ Autorisation refusee
+ Autorisation requise
+ Autorise
Centre des plugins
Détails du plugin
+ Officiel
+ De confiance
Plugins
L\'emplacement du pointeur
Toggle \"pointer location\" failed.\nL\'accès à la racine est nécessaire.
Notifications postales
Afin de garantir que les services au premier plan d\'AutoJs6, etc. fonctionnent correctement et que les scripts puissent publier des notifications, AutoJs6 doit se voir accorder l\'autorisation de \"publier des notifications\".
Pré-exécution du script
+ Preparer
+ Preparation terminee
Préparation...
+ Preparation du dir des assets
+ Preparation de la config de build
+ Preparation du keystore
+ Preparation de l\'espace de travail
Contenu de la boîte de dialogue prédéfinie
Titre de la boîte de dialogue prédéfini
Appuyez à nouveau sur la touche pour rejeter la boîte de dialogue.
@@ -1085,14 +1163,19 @@
Préview
Journal de processus
Traitement
+ Traitement du code source
Projet
Localisation du projet
Accès aux médias du projet
Prompt
+ %1$s :
%1$s : %2$s
%1$s : %2$d %3$s
%1$s : %2$d%3$s
+ Elagage
Quit
+ Re-signature de l\'APK
+ Lecture des ressources d\'ecran de demarrage
Recommandé
Enregistrement terminé
Demande d\'enregistrement
@@ -1118,6 +1201,7 @@
Remplacer
Remplacer tout
Rempl
+ Remplacement du fichier
URL du dépôt de l\'extension VSCode
Submission réussie
Requiert Android OS version %s (API %s) mais la version actuelle est %s (API %s)
@@ -1126,6 +1210,7 @@
Réinitialisation réussie
Réinitialisation initiale
Reset n\'est que pour les échantillons
+ Resolution des bibliotheques natives du plugin
Redémarrer
Stratégie de redémarrage
Restaurer
@@ -1167,6 +1252,7 @@
Enregistrer la config sous
Enreg
Save to
+ Enregistrement...
Moteur
Délai de démarrage
Délai de demande d\'autorisation de capture d\'écran
@@ -1187,6 +1273,7 @@
Sélectionnez le fichier à télécharger
Sélectionner l\'icône
Sélectionner une image
+ Plugin selectionne
Envoyer
Créer un raccourci
Mode serveur
@@ -1203,6 +1290,9 @@
Afficher les bords de la disposition
Afficher la hiérarchie de la disposition
Afficher les informations du widget
+ Signer
+ Signature terminee
+ Etape de signature terminee
Algorithme de signature
Configuration de la signature
Schéma de signature
@@ -1220,6 +1310,7 @@
Heure (plus recent d\'abord)
Source
Chemin du code source
+ Traitement du code source termine
Autorisations spéciales
Mode stable
Star
@@ -1258,6 +1349,7 @@
Tâche chronométrée
Moteur d\'ordonnancement des tâches planifiées
Timing
+ Titre
A choisir
Basculer tout
Outils
@@ -1282,6 +1374,7 @@
Description Inconnue
Titre Inconnu
Version Inconnue
+ APK non signe cree
Non vérifié
Mise a jour dispo
Mettre a jour
@@ -1289,6 +1382,7 @@
Mise à jour des états vérifiés et effacés
Plus tard
Voir
+ Mise a jour de la config du projet
Utilisation de l\'accès aux statistiques
Utiliser le raccourci Android 7.0
Utiliser l\'icône par défaut
@@ -1298,6 +1392,7 @@
Le nom d\'utilisateur ne peut pas être vide.
Utiliser le sélecteur desc
Utiliser le sélecteur d\'id
+ Utilisation du keystore
Utiliser le sélecteur de texte
Validité (années)
Les années de validité ne peuvent pas être vides
@@ -1329,86 +1424,12 @@
Chemin du répertoire de travail.
Écrire les paramètres de sécurité.
Écrire les paramètres système
+ Ecriture de l\'icone de l\'appli
+ Ecriture du manifest
+ Ecriture de la config du projet
+ Ecriture de resources.arsc
+ Ecriture de l\'APK signe
Fenêtres contextuelles en arrière-plan
Les parametres ne sont pas enregistres. Continuer?
Les parametres ne sont pas enregistres. Quitter?
- Echec de l\'enregistrement
- Enregistrement...
- " : "
- Echec de l\'activation du plugin
- Infos de l\'exception
- Astuce
- Essayez d\'appuyer sur le bouton \"Activer\" pour activer le plugin une fois.\nSi l\'activation reussit, le bouton s\'activera automatiquement dans un certain delai.
- Activer
- Activation reussie
- Autoriser le plugin
- Il s\'agit d\'un plugin tiers. Faites attention a la source du plugin et a la securite d\'utilisation.\n\nAppuyez sur le bouton \"Autoriser\" pour activer le plugin.
- Autoriser
- Officiel
- Autorise
- Autorisation requise
- Autorisation refusee
- Activation recommandee
- Active
- De confiance
- Mecanisme
- Le plugin \"%1$s\" n\'est pas active dans le Centre des plugins
- Le plugin \"%1$s\" n\'est pas autorise dans le Centre des plugins
- Plugin \"%1$s\" introuvable parmi les applis installees
- Connexion de plugin non prise en charge
- %1$s :
- Titre
- Contenu
- Compilation de l\'APK
- Chemin de l\'APK genere
- Nettoyer
- Signer
- Compiler
- Preparer
- Preparation de l\'espace de travail
- Extraction de l\'APK modele
- Preparation terminee
- Copie du repertoire du projet
- Copie du fichier de script
- Traitement du code source termine
- Copie du repertoire
- Copie du fichier
- Chiffrement du script
- Remplacement du fichier
- Preparation de la config de build
- Lecture des ressources d\'ecran de demarrage
- Configuration du manifest
- Configuration du nom de package
- Copie des assets vers
- Traitement du code source
- Application des ressources binaires
- Copie des bibliotheques natives
- Mise a jour de la config du projet
- Etape de signature terminee
- Ecriture de la config du projet
- Compilation des ressources
- Build termine
- Ecriture de resources.arsc
- Ecriture du manifest
- Ecriture de l\'icone de l\'appli
- Copie d\'asset
- Preparation du dir des assets
- Copie de bibliotheque
- Preparation du keystore
- APK non signe cree
- Creation de l\'APK non signe
- Utilisation du keystore
- Re-signature de l\'APK
- Ecriture de l\'APK signe
- Signature terminee
- Nettoyage termine
- Nettoyage de l\'espace de travail
- Resolution des bibliotheques natives du plugin
- Copie des bibliotheques pour ABI
- Plugin selectionne
- Bibliotheques du plugin extraites
- Assets du plugin extraits
- Extraction d\'asset du plugin
- Extraction du fichier so du plugin
- L\'enregistrement de scripts necessite au moins l\'une des conditions suivantes:\n- Acces root\n- Acces Shizuku
\ No newline at end of file
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index eaeaf387..42565d6d 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -118,9 +118,11 @@
放棄
中止
接続を中止
+ 有効化
追加
詳細
アドレスを修正
+ 許可
@string/text_back
取消
取消
@@ -230,6 +232,7 @@
更新のチェックに失敗しました
有効な IP アドレスの後にコロンが続くこと
コンパスは null にできません
+ スクリプト録画には次の条件のうち少なくとも1つが必要です:\n- Root 権限\n- Shizuku 権限
リモートサーバーに接続できません. %s
\"%1$s\" への接続に失敗しました.
接続がタイムアウトしました (%d ミリ秒)
@@ -253,6 +256,7 @@
値 %s を Drawable に変換するのに失敗しました
コピーに失敗しました
作成に失敗しました
+ プラグインの有効化に失敗しました
設定画面を開けませんでした
Shizuku の権限付与に失敗しました
\"%s\" のインスタンス化に失敗しました
@@ -269,6 +273,7 @@
version.properties を取得できず, バージョン情報を解析できません
Shizuku 権限の取り消しに失敗しました
スクリプトの実行に失敗しました
+ 保存に失敗しました
プロジェクト設定の保存に失敗しました
パス \"%1$s\" にファイルが存在しません
\"UI スレッドをブロックできません. サブスレッドまたはサブスクリプトで %s() を実行してみてください
@@ -329,6 +334,9 @@
無効なパターン構文
プラグイン APK に variant=\"%1$s\" に必要な assets が含まれていません: %2$s.
プラグイン APK に必要な native ライブラリが含まれていません: %1$s.
+ プラグイン \"%1$s\" はプラグインセンターで許可されていません
+ プラグイン \"%1$s\" はプラグインセンターで有効になっていません
+ インストール済みアプリにプラグイン \"%1$s\" が見つかりません
%1$s プラグインが空の info を返しました.
%1$s プラグインが無効な variant を返しました: %2$s.
65535 を超えるポート番号
@@ -370,6 +378,7 @@
不明な結果タイプ {name: %s, params: %s}
不明なセレクタ {name: %s, type: %s} です
不明なタイプ: %s
+ サポートされていないプラグイン接続方式です
WebP-Lossless 形式は品質パラメータで圧縮できません, 代わりに JPEG/PNG/WebP-Lossy を使用してください
ファイルが存在しないか, 読み取れません
ファイルが存在しないか, 読み取り可能でない: %s
@@ -386,6 +395,7 @@
ループ前の遅延時間
無限ループの場合は 0
IPv4/IPv6/およびドメイン名に対応しています.
+ \"有効化\" ボタンをタップして, プラグインを一度有効化してみてください.\n有効化に成功すると, 一定時間内にボタンが自動的にオンになります.
リモートプラグインの URL を入力してください. \n例: \"https://example.com/plugin.apk\"
完全に削除
ゴミ箱に移動
@@ -432,6 +442,7 @@
最終インストール
最終アンインストール
最終更新
+ 方式
パッケージサイズ
更新可 Ver.
現在のアップデートバージョンを無視して大丈夫ですか?\n無視したバージョンは, アプリの設定で管理することができます
@@ -462,6 +473,7 @@
ランチャーへのショートカットの追加
フローティングボタンが表示されているときに, \"Volume Down\" キーで録画の開始/停止を制御できるようになりました
\"Volume Up\" キーを押すと, 実行中のスクリプトをすべて停止します
+ ": "
内部ストレージ
アクセシビリティサービス
スクリプトの自動操作 (クリック, 長押し, スライドなど) で必要です
@@ -484,6 +496,7 @@
前方にスクロールする (scrollForward)
テキストを設定する (setText)
動作
+ 有効化しました
APK インストーラーなし
ADB ツールが必要
カラーライブラリを追加
@@ -543,8 +556,11 @@
アプリバージョンコード
アプリのバージョン名
外観
+ バイナリ資源を適用中
[氏名, 組織名, 組織単位, 国コード, 州または省, 市区町村, 街] のいずれかの項目を入力する必要があります
属性
+ プラグインを許可
+ これはサードパーティ製プラグインです. 提供元と利用上の安全性に注意してください.\n\n\"許可\" ボタンをタップしてプラグインを有効にします.
更新の自動チェック
自動的に更新をチェックし, ホームページにスナックバーを表示します
オートナイトモード
@@ -553,8 +569,27 @@
戻る
動作
タスクの実行
+ ビルド
APK のビルド
+ ビルド完了
+ ビルド設定
+ デフォルト設定は削除できません
+ project.json 設定は削除できません
+ 設定を削除
+ 設定フィールド
+ 設定フィールドを構成
+ チェックしたフィールドは, この設定に固定値として保存されます.
+ その他の設定操作
+ 予約済みの設定名は使用できません (Default, project.json)
+ ビルド設定名
+ 新規設定
+ 現在のビルド設定に未保存の変更があります.
+ 現在のビルド設定に未保存の変更があり, project.json に書き込まれます.
+ 続行する前に変更を保存しますか?
ビルドに成功しました
+ APK をビルド中
+ 資源をビルド中
+ 生成された APK のパス
取消
取消
デフォルトは削除できません
@@ -586,6 +621,9 @@
復元先を選択
市区町村
クラス名/パッケージ名
+ クリーン
+ クリーン完了
+ ワークスペースをクリーン中
クリア
ファイル選択の解除
実行前スクリプトのクリア
@@ -614,6 +652,8 @@
互換性
信頼度
設定
+ manifest を設定中
+ パッケージ名を設定中
すべての項目を削除しますか?
履歴を消去しますか?
以下の履歴を消去します\n\n[ %1$s ]\n\n消去しますか?
@@ -629,6 +669,7 @@
接続が確立できない
接続に失敗しました
コンソール
+ 内容
続行
コピー
すべてコピー
@@ -643,8 +684,18 @@
クリップボードにコピーする
値をコピーする
コピー中...
+ asset をコピー中
+ assets をコピー中:
+ ディレクトリをコピー中
+ ファイルをコピー中
+ ABI 用ライブラリをコピー中
+ ライブラリをコピー中
+ ネイティブライブラリをコピー中
+ プロジェクトディレクトリをコピー中
+ スクリプトファイルをコピー中
国コード (XX)
国コードは 2 文字の大文字でなければなりません
+ 未署名 APK を作成中
現在のページ設定
現在のバージョン
デイリータスク
@@ -727,10 +778,12 @@
セキュアな設定でアクセシビリティサービスを有効化するとタイムアウトする
プラグインを有効化
有効
+ スクリプトを暗号化中
エラー
ファイルのコピーに失敗しました. %s
バグレポート
推定
+ 例外情報
実行
実行コード
[%s] は %s 秒で終了しました
@@ -743,6 +796,11 @@
エクスポートされました
JavaScript 組み込みオブジェクトの拡張
拡張性
+ プラグインの資源を抽出しました
+ プラグインのライブラリを抽出しました
+ プラグイン資源を抽出中
+ プラグインの so を抽出中
+ テンプレート APK を展開中
失敗
ビルドに失敗しました
署名キーの作成に失敗しました
@@ -763,6 +821,7 @@
登録の失敗
投稿の失敗
取得に失敗
+ project.json の保存に失敗しました
リモートプロジェクトをローカルストレージに保存できませんでした
ログ・エントリの送信に失敗しました
更新に失敗しました
@@ -813,6 +872,7 @@
隠しボタン
このノードを隠す
同じフレームのノードを隠す
+ ヒント
履歴
履歴を消去しました
アイコン
@@ -868,6 +928,11 @@
最新のパッケージ
コンフィグを起動する
デバッガを起動する
+ ランチャーにアプリアイコンを表示
+ 起動時にログを表示
+ 起動時にスクリプトを実行
+ スプラッシュ標語テキスト
+ 起動時にスプラッシュ画面を表示
ランチャーアイコン
ランチャーショートカット
一部のデバイスでランチャーアイコンを切り替えると既存の AutoJs6 ショートカットがすべて失われる可能性があります, 注意して操作してください
@@ -983,9 +1048,9 @@
アプリがアプリ内購入を実行することを許可します
アプリが Bluetooth デバイスにアクセスすることを許可します
アプリが Bluetooth デバイスを設定することを許可します
+ アプリが Bluetooth でアドバタイズすることを許可します
アプリが Bluetooth デバイスと接続状態にアクセスすることを許可します
アプリが近くの Bluetooth デバイスをスキャンすることを許可します
- アプリが Bluetooth でアドバタイズすることを許可します
アプリがシステムダイアログを閉じるためのインテントを送信することを許可します
アプリが電話をかけることを許可します
アプリがカメラにアクセスすることを許可します
@@ -1069,15 +1134,28 @@
入力名
しばらくお待ちください...
しばらくしてからもう一度お試しください...
+ 有効
+ 有効化を推奨
+ 許可が拒否されました
+ 許可が必要
+ 許可済み
プラグインセンター
プラグイン詳細
+ 公式
+ 信頼済み
プラグイン
ポインターの位置
トグル [ポインターの位置] に失敗しました.\nroot 権限が必要です
ゆうびんけいほう
AutoJs6 のフォアグラウンドサービス等が正常に動作し, スクリプトが通知を投稿できるようにするため, AutoJs6 には \"通知の送信\" 権限を付与する必要があります.
スクリプトの事前実行
+ 準備
+ 準備完了
準備中...
+ assets ディレクトリを準備中
+ ビルド設定を準備中
+ keystore を準備中
+ ワークスペースを準備中
プリセット・ダイアログ・内容
プリセット・ダイアログ・タイトル
ダイアログを閉じるにはもう一度押してください
@@ -1086,14 +1164,19 @@
プレビュー
プロセスログ
処理中
+ ソースを処理中
プロジェクト
プロジェクトの場所
プロジェクト・メディア・アクセス
プロンプト
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ 剪定中
終了
+ APK を再署名中
+ スプラッシュ資源を読み込み中
推奨
記録終了
録画のプロンプト
@@ -1119,6 +1202,7 @@
置換
すべてを置き換える
置換
+ ファイルを置換中
VSCode 拡張機能のリポジトリ URL
送信に成功しました
Android OS バージョン %s (API %s) が必要ですが, 現在のバージョンは %s (API %s)です
@@ -1127,6 +1211,7 @@
リセット成功
初期リセット
リセットはサンプルのみ
+ プラグインのネイティブライブラリを解決中
再起動
再起動戦略
復元
@@ -1168,6 +1253,7 @@
設定を別名で保存
保存
保存先
+ 保存中...
エンジン
開始遅延
画面キャプチャ権限リクエスト遅延
@@ -1188,6 +1274,7 @@
アップロードするファイルを選択します
アイコンを選択する
画像を選択する
+ 選択したプラグイン
送信する
ショートカットの作成
サーバーモード
@@ -1204,6 +1291,9 @@
レイアウト境界内のビュー
レイアウト階層内の表示
ウィジェット情報を表示する
+ 署名
+ 署名完了
+ 署名ステージ完了
署名アルゴリズム
署名設定
署名スキーム
@@ -1221,6 +1311,7 @@
時間 (新しい順)
ソース
ソースコードのパス
+ ソース処理完了
特殊な権限
安定モード
スター
@@ -1259,6 +1350,7 @@
時間指定タスク
定時タスクのスケジューリングエンジン
タイミング
+ タイトル
未選択
全て切替
ツール
@@ -1283,6 +1375,7 @@
不明な説明
不明なタイトル
不明なバージョン
+ 未署名 APK を作成しました
未確認
更新あり
更新
@@ -1290,6 +1383,7 @@
更新のチェック状態を解除
後日
表示
+ プロジェクト設定を更新中
使用統計へのアクセス
Android 7.0 のショートカットを使用
デフォルトのアイコンを使用する
@@ -1299,6 +1393,7 @@
ユーザー名を空にすることはできません
降順セレクタを使用する
ID セレクタを使用する
+ keystore を使用中
テキストセレクタを使用する
有効期限(年)
有効期限の年数は空にできません
@@ -1330,86 +1425,12 @@
作業ディレクトリのパス
セキュリティ設定の書き込み
システム設定の書き込み
+ アプリアイコンを書き込み中
+ manifest を書き込み中
+ プロジェクト設定を書き込み中
+ resources.arsc を書き込み中
+ 署名済み APK を書き込み中
バックグラウンドでのポップアップ表示
設定が保存されていません. 続行しますか?
設定が保存されていません. 終了しますか?
- 保存に失敗しました
- 保存中...
- ": "
- プラグインの有効化に失敗しました
- 例外情報
- ヒント
- \"有効化\" ボタンをタップして, プラグインを一度有効化してみてください.\n有効化に成功すると, 一定時間内にボタンが自動的にオンになります.
- 有効化
- 有効化しました
- プラグインを許可
- これはサードパーティ製プラグインです. 提供元と利用上の安全性に注意してください.\n\n\"許可\" ボタンをタップしてプラグインを有効にします.
- 許可
- 公式
- 許可済み
- 許可が必要
- 許可が拒否されました
- 有効化を推奨
- 有効
- 信頼済み
- 方式
- プラグイン \"%1$s\" はプラグインセンターで有効になっていません
- プラグイン \"%1$s\" はプラグインセンターで許可されていません
- インストール済みアプリにプラグイン \"%1$s\" が見つかりません
- サポートされていないプラグイン接続方式です
- %1$s:
- タイトル
- 内容
- APK をビルド中
- 生成された APK のパス
- クリーン
- 署名
- ビルド
- 準備
- ワークスペースを準備中
- テンプレート APK を展開中
- 準備完了
- プロジェクトディレクトリをコピー中
- スクリプトファイルをコピー中
- ソース処理完了
- ディレクトリをコピー中
- ファイルをコピー中
- スクリプトを暗号化中
- ファイルを置換中
- ビルド設定を準備中
- スプラッシュ資源を読み込み中
- manifest を設定中
- パッケージ名を設定中
- assets をコピー中:
- ソースを処理中
- バイナリ資源を適用中
- ネイティブライブラリをコピー中
- プロジェクト設定を更新中
- 署名ステージ完了
- プロジェクト設定を書き込み中
- 資源をビルド中
- ビルド完了
- resources.arsc を書き込み中
- manifest を書き込み中
- アプリアイコンを書き込み中
- asset をコピー中
- assets ディレクトリを準備中
- ライブラリをコピー中
- keystore を準備中
- 未署名 APK を作成しました
- 未署名 APK を作成中
- keystore を使用中
- APK を再署名中
- 署名済み APK を書き込み中
- 署名完了
- クリーン完了
- ワークスペースをクリーン中
- プラグインのネイティブライブラリを解決中
- ABI 用ライブラリをコピー中
- 選択したプラグイン
- プラグインのライブラリを抽出しました
- プラグインの資源を抽出しました
- プラグイン資源を抽出中
- プラグインの so を抽出中
- スクリプト録画には次の条件のうち少なくとも1つが必要です:\n- Root 権限\n- Shizuku 権限
\ No newline at end of file
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index a065c57f..4f829a3a 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -119,9 +119,11 @@
포기
중지
연결 중지
+ 활성화
추가
고급
주소 수정
+ 권한 부여
@string/text_back
취소
취소
@@ -231,6 +233,7 @@
업데이트를 확인하지 못했습니다
콜론은 유효한 IP 주소를 따라야 합니다
나침반은 무효가 될 수 없다
+ 스크립트 녹화에는 다음 조건 중 하나 이상이 필요합니다:\n- Root 권한\n- Shizuku 권한
원격 서버에 연결할 수 없습니다: %s
\"%1$s\"에 연결하지 못했습니다.
연결 시간 초과 (%d 밀리초)
@@ -254,6 +257,7 @@
%s 값을 Drawable 로 변환하지 못했습니다
복사하지 못했습니다
만들지 못했습니다
+ 플러그인을 활성화하지 못했습니다
설정 페이지를 열지 못했습니다
Shizuku 권한을 부여하지 못했습니다
\"%s\" 인스턴스 생성에 실패했습니다
@@ -270,6 +274,7 @@
version.properties 를 가져올 수 없어 버전 정보를 분석할 수 없습니다
Shizuku 권한 해지에 실패했습니다
스크립트 실행 실패
+ 저장에 실패했습니다
프로젝트 설정을 저장하지 못했습니다
경로 \"%1$s\" 에 파일이 존재하지 않습니다
UI 스레드는 차단할 수 없습니다. 하위 스레드 또는 하위 스크립트에서 %s() 를 실행하십시오
@@ -330,6 +335,9 @@
잘못된 패턴 구문
플러그인 APK에 variant=\"%1$s\"에 필요한 assets가 포함되어 있지 않습니다: %2$s.
플러그인 APK에 필요한 native 라이브러리가 포함되어 있지 않습니다: %1$s.
+ 플러그인 \"%1$s\" 이 (가) 플러그인 센터에서 권한이 부여되지 않았습니다
+ 플러그인 \"%1$s\" 이(가) 플러그인 센터에서 활성화되어 있지 않습니다
+ 설치된 앱에서 플러그인 \"%1$s\" 을 (를) 찾을 수 없습니다
%1$s 플러그인이 빈 info를 반환했습니다.
%1$s 플러그인이 잘못된 variant를 반환했습니다: %2$s.
65535 이상의 포트 번호
@@ -371,6 +379,7 @@
알 수없는 결과 유형 {이름: %s, 매개 변수: %s}
알 수없는 선택기 {이름: %s, 유형: %s}
알 수없는 유형: %s
+ 지원되지 않는 플러그인 연결 방식입니다
WebP-Lossless 형식은 품질 파라미터로 압축할 수 없습니다, 대신 JPEG/PNG/WebP-Lossy를 사용하세요
파일이 없거나 읽을 수 없습니다
파일이 존재하지 않거나 읽을 수 없습니다: %s
@@ -387,6 +396,7 @@
루프 전 지연
무한 루프의 경우 0
IPv4, IPv6 및 도메인을 지원합니다.
+ \"활성화\" 버튼을 눌러 플러그인을 한 번 활성화해 보세요.\n활성화에 성공하면 일정 시간 내에 버튼이 자동으로 켜집니다.
원격 플러그인 주소를 가리키는 URL을 입력하세요.\n예: \"https://example.com/plugin.apk\"
영구 삭제
휴지통으로 이동
@@ -433,6 +443,7 @@
마지막 설치
마지막 제거
마지막 업데이트
+ 방식
패키지 크기
업데이트 가능
현재 업데이트 버전을 무시해야합니까?\n앱 설정으로 무시 된 버전을 모두 관리 할 수 있습니다.
@@ -463,6 +474,7 @@
런처에 바로 가기 추가
부동 버튼이 표시 될 때 볼륨 다운 키로 제어 된 녹음 시작 또는 중지
실행 중인 모든 스크립트를 중지하려면 \"볼륨 크게\" 키를 누르십시오.
+ ": "
내부 저장소
접근성 서비스
스크립트 자동 작동에 필요합니다 (클릭, 긴 프레스, 슬라이드 등).
@@ -485,6 +497,7 @@
앞으로 스크롤 (scrollForward)
텍스트 설정 (setText)
동작
+ 활성화되었습니다
APK 설치 프로그램이 없습니다
ADB 도구가 필요합니다
색상 라이브러리 추가
@@ -544,8 +557,11 @@
앱 버전 코드
앱 버전 이름
모습
+ 바이너리 리소스 적용 중
[성명, 조직명, 조직 단위, 국가 코드, 주 또는 도, 시 또는 지역, 거리] 중 하나 이상을 입력해야 합니다
기인하다
+ 플러그인 권한 부여
+ 이 플러그인은 타사 플러그인입니다. 플러그인 출처와 사용 안전에 유의하세요.\n\n\"권한 부여\" 버튼을 눌러 플러그인을 활성화하세요.
자동 확인 업데이트
자동으로 업데이트를 확인하고 홈페이지에 스낵바를 표시합니다.
자동 밤 모드
@@ -554,8 +570,27 @@
뒤
동작
방송 작업
+ 빌드
APK 빌드
+ 빌드 완료
+ 빌드 프로필
+ 기본 프로필은 삭제할 수 없습니다
+ project.json 프로필은 삭제할 수 없습니다
+ 프로필 삭제
+ 프로필 필드
+ 프로필 필드 설정
+ 체크된 필드는 이 프로필에 고정 값으로 저장됩니다.
+ 더 많은 프로필 작업
+ 예약된 프로필 이름은 사용할 수 없습니다 (Default, project.json)
+ 빌드 프로필 이름
+ 새 프로필
+ 현재 빌드 설정에 저장되지 않은 변경 사항이 있습니다.
+ 현재 빌드 설정에 저장되지 않은 변경 사항이 있으며, project.json에 기록됩니다.
+ 계속하기 전에 변경 사항을 저장할까요?
빌드가 성공했습니다
+ APK 빌드 중
+ 리소스 빌드 중
+ 생성된 APK 경로
취소
취소
기본 프로필은 삭제할 수 없습니다
@@ -587,6 +622,9 @@
복원 경로 선택
시 또는 지역
클래스 / 패키지 이름
+ 정리
+ 정리 완료
+ 작업 공간 정리 중
분명한
파일 선택을 지우십시오
사전 에코 슈트 스크립트를 지우십시오
@@ -615,6 +653,8 @@
호환성
신뢰도
구성
+ manifest 설정 중
+ 패키지 이름 설정 중
모든 항목을 삭제하시겠습니까?
기록을 삭제하시겠습니까?
아래 기록이 삭제됩니다\n\n[ %1$s ]\n\n삭제하시겠습니까?
@@ -630,6 +670,7 @@
연결을 설정할 수 없습니다
연결 실패
콘솔
+ 내용
계속하다
복사
모두 복사하십시오
@@ -644,8 +685,18 @@
클립 보드에 복사
값을 복사하십시오
복사 중...
+ asset 복사 중
+ assets 복사 중:
+ 디렉터리 복사 중
+ 파일 복사 중
+ ABI용 라이브러리 복사 중
+ 라이브러리 복사 중
+ 네이티브 라이브러리 복사 중
+ 프로젝트 디렉터리 복사 중
+ 스크립트 파일 복사 중
국가 코드 (XX)
국가 코드는 두 개의 대문자로 입력해야 합니다
+ 서명되지 않은 APK 생성 중
현재 페이지 설정
현재 버전
일상적인 작업
@@ -728,10 +779,12 @@
안전한 설정 시간이 초과되는 접근성 서비스를 활성화하십시오
플러그인 활성화
활성화됨
+ 스크립트 암호화 중
오류
파일을 복사하지 못했습니다: %s
버그 보고서
추정
+ 예외 정보
실행하다
코드를 실행하십시오
[%s] 는 %s 초 만에 완료되었습니다.\n
@@ -744,6 +797,11 @@
내보낸
JavaScript 내장 개체 확장
확장성
+ 플러그인 assets를 추출함
+ 플러그인 라이브러리를 추출함
+ 플러그인 asset 추출 중
+ 플러그인 so 파일 추출 중
+ 템플릿 APK 추출 중
실패한
건축에 실패했습니다
서명 키 생성에 실패했습니다
@@ -764,6 +822,7 @@
등록하지 못했습니다
제출하지 못했습니다
가져오기 실패
+ project.json 저장에 실패했습니다
원격 프로젝트를 로컬 저장소에 저장하지 못했습니다
로그 항목을 보내지 못했습니다
업데이트 실패
@@ -814,6 +873,7 @@
버튼 숨기기
이 노드를 숨기기
동일 프레임의 노드를 숨기기
+ 힌트
기록
기록이 삭제되었습니다
상
@@ -869,6 +929,11 @@
최신 패키지
구성을 시작하십시오
디버거를 시작하십시오
+ 런처에 앱 아이콘 표시
+ 실행 시 로그 표시
+ 부팅 시 스크립트 실행
+ 시작 화면 슬로건 텍스트
+ 실행 시 시작 화면 표시
런처 아이콘
런처 바로 가기
일부 기기에서 런처 아이콘을 변경하면 기존 AutoJs6 바로가기가 모두 삭제될 수 있으니 주의하십시오
@@ -984,9 +1049,9 @@
앱이 인앱 구매를 수행하도록 허용합니다
앱이 블루투스 기기에 접근하도록 허용합니다
앱이 블루투스 기기를 구성하도록 허용합니다
+ 앱이 블루투스로 광고하도록 허용합니다
앱이 블루투스 장치 및 연결 상태에 접근하도록 허용합니다
앱이 근처 블루투스 장치를 검색하도록 허용합니다
- 앱이 블루투스로 광고하도록 허용합니다
앱이 시스템 대화 상자를 닫기 위한 인텐트를 보내도록 허용합니다
앱이 전화를 걸도록 허용합니다
앱이 카메라에 접근하도록 허용합니다
@@ -1070,15 +1135,28 @@
입력 이름
잠시만 기다려주세요...
잠시 후 다시 시도해 주세요...
+ 활성화됨
+ 활성화 권장
+ 권한 거부됨
+ 권한 필요
+ 권한 부여됨
플러그인 센터
플러그인 상세
+ 공식
+ 신뢰됨
플러그인
포인터 위치
\"포인터 위치\"토글이 실패했습니다.\n루트 액세스가 필요합니다.
게시물 알림
AutoJs6 포그라운드 서비스 등이 정상적으로 동작하고 스크립트가 알림을 게시할 수 있도록 하려면, AutoJs6 에 \"알림 게시\" 권한을 부여해야 합니다.
사전 배제 스크립트
+ 준비
+ 준비 완료
준비 ...
+ assets 디렉터리 준비 중
+ 빌드 설정 준비 중
+ keystore 준비 중
+ 작업 공간 준비 중
사전 설정 대화 상자 내용
사전 설정 대화 상자 제목
다시 눌러 대화 상자를 무시하십시오
@@ -1087,14 +1165,19 @@
시사
프로세스 로그
처리 중
+ 소스 처리 중
프로젝트
프로젝트 위치
프로젝트 미디어 액세스
즉각적인
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ 가지치기 중
그만두다
+ APK 재서명 중
+ 스플래시 리소스 읽는 중
권장
녹음 완료
녹음 프롬프트
@@ -1120,6 +1203,7 @@
바꾸다
모두 다 바꿔
교체
+ 파일 교체 중
VSCode 확장의 리포지토리 URL
제출 성공
Android OS 버전 %s (API %s) 가 필요하지만 현재는 %s (API %s) 입니다.
@@ -1128,6 +1212,7 @@
재설정이 성공했습니다
처음에 재설정하십시오
재설정은 샘플에만 해당됩니다
+ 플러그인 네이티브 라이브러리 확인 중
재시작
재시작 전략
복원
@@ -1169,6 +1254,7 @@
다른 이름으로 저장
구하다
저장
+ 저장 중...
엔진
시작 지연
화면 캡처 권한 요청 지연
@@ -1189,6 +1275,7 @@
업로드 할 파일을 선택하십시오
아이콘을 선택하십시오
이미지를 선택하십시오
+ 선택된 플러그인
보내다
바로 가기를 만듭니다
서버 모드
@@ -1205,6 +1292,9 @@
레이아웃 경계보기
레이아웃 계층 구조보기
위젯 정보를 보여줍니다
+ 서명
+ 서명 완료
+ 서명 단계 완료
서명 알고리즘
서명 설정
서명 스킴
@@ -1222,6 +1312,7 @@
시간 (최신순)
원본
소스 코드 경로
+ 소스 처리 완료
특수 권한
안정적인 모드
별
@@ -1260,6 +1351,7 @@
시간이 정한 작업
정시 작업 스케줄링 엔진
타이밍
+ 제목
선택 대기
전체 전환
도구
@@ -1284,6 +1376,7 @@
알 수 없는 설명
알 수 없는 제목
알 수 없는 버전
+ 서명되지 않은 APK가 생성됨
미확인
업데이트 가능
업데이트
@@ -1291,6 +1384,7 @@
확인 된 상태가 지워졌습니다
나중
보다
+ 프로젝트 설정 업데이트 중
사용 통계 액세스
Android 7.0 바로 가기를 사용하십시오
기본 아이콘 사용
@@ -1300,6 +1394,7 @@
사용자 이름은 비어있을 수 없습니다
desc 선택기를 사용하십시오
id 선택기를 사용하십시오
+ keystore 사용 중
text 선택기를 사용하십시오
유효 기간 (년)
유효 기간을 입력해야 합니다
@@ -1331,86 +1426,12 @@
작업 디렉토리 경로
보안 설정을 작성하십시오
시스템 설정을 작성하십시오
+ 앱 아이콘 기록 중
+ manifest 기록 중
+ 프로젝트 설정 기록 중
+ resources.arsc 기록 중
+ 서명된 APK 기록 중
백그라운드 팝업
설정이 저장되지 않았습니다. 계속할까요?
설정이 저장되지 않았습니다. 종료할까요?
- 저장에 실패했습니다
- 저장 중...
- ": "
- 플러그인을 활성화하지 못했습니다
- 예외 정보
- 힌트
- \"활성화\" 버튼을 눌러 플러그인을 한 번 활성화해 보세요.\n활성화에 성공하면 일정 시간 내에 버튼이 자동으로 켜집니다.
- 활성화
- 활성화되었습니다
- 플러그인 권한 부여
- 이 플러그인은 타사 플러그인입니다. 플러그인 출처와 사용 안전에 유의하세요.\n\n\"권한 부여\" 버튼을 눌러 플러그인을 활성화하세요.
- 권한 부여
- 공식
- 권한 부여됨
- 권한 필요
- 권한 거부됨
- 활성화 권장
- 활성화됨
- 신뢰됨
- 방식
- 플러그인 \"%1$s\" 이(가) 플러그인 센터에서 활성화되어 있지 않습니다
- 플러그인 \"%1$s\" 이 (가) 플러그인 센터에서 권한이 부여되지 않았습니다
- 설치된 앱에서 플러그인 \"%1$s\" 을 (를) 찾을 수 없습니다
- 지원되지 않는 플러그인 연결 방식입니다
- %1$s:
- 제목
- 내용
- APK 빌드 중
- 생성된 APK 경로
- 정리
- 서명
- 빌드
- 준비
- 작업 공간 준비 중
- 템플릿 APK 추출 중
- 준비 완료
- 프로젝트 디렉터리 복사 중
- 스크립트 파일 복사 중
- 소스 처리 완료
- 디렉터리 복사 중
- 파일 복사 중
- 스크립트 암호화 중
- 파일 교체 중
- 빌드 설정 준비 중
- 스플래시 리소스 읽는 중
- manifest 설정 중
- 패키지 이름 설정 중
- assets 복사 중:
- 소스 처리 중
- 바이너리 리소스 적용 중
- 네이티브 라이브러리 복사 중
- 프로젝트 설정 업데이트 중
- 서명 단계 완료
- 프로젝트 설정 기록 중
- 리소스 빌드 중
- 빌드 완료
- resources.arsc 기록 중
- manifest 기록 중
- 앱 아이콘 기록 중
- asset 복사 중
- assets 디렉터리 준비 중
- 라이브러리 복사 중
- keystore 준비 중
- 서명되지 않은 APK가 생성됨
- 서명되지 않은 APK 생성 중
- keystore 사용 중
- APK 재서명 중
- 서명된 APK 기록 중
- 서명 완료
- 정리 완료
- 작업 공간 정리 중
- 플러그인 네이티브 라이브러리 확인 중
- ABI용 라이브러리 복사 중
- 선택된 플러그인
- 플러그인 라이브러리를 추출함
- 플러그인 assets를 추출함
- 플러그인 asset 추출 중
- 플러그인 so 파일 추출 중
- 스크립트 녹화에는 다음 조건 중 하나 이상이 필요합니다:\n- Root 권한\n- Shizuku 권한
\ No newline at end of file
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 9f0d8c33..57b60eec 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -117,9 +117,11 @@
Отказаться
Прервать
Прервать соединение
+ Активировать
Добавить
Доп.
Исправить адрес
+ Авторизовать
@string/text_back
Отменить
Отменить
@@ -229,6 +231,7 @@
Не удалось проверить наличие обновлений
Двоеточие должно следовать за действительным IP-адресом
Компас не может быть нулевым
+ Запись скриптов требует выполнения хотя бы одного из следующих условий:\n- Доступ root\n- Доступ Shizuku
Не удается подключиться к удаленному серверу: %s
Не удалось подключиться к \"%1$s\".
Тайм-аут подключения (%d мс)
@@ -252,6 +255,7 @@
Не удалось преобразовать значение %s в Drawable
Не удалось скопировать
Не удалось создать
+ Не удалось включить плагин
Не удалось открыть страницу настроек
Не удалось предоставить права на использование Shizuku
Ошибка создания экземпляра \"%s\"
@@ -268,6 +272,7 @@
Не удалось получить файл version.properties для анализа информации о версии
Не удалось отозвать права на Shizuku
Ошибка выполнения скрипта
+ Не удалось сохранить
Не удалось сохранить конфигурацию проекта
Файл в пути \"%1$s\" не существует
Поток пользовательского интерфейса не может быть заблокирован. Попробуйте запустить %s() в подпотоке или подскрипте
@@ -328,6 +333,9 @@
Неверный синтаксис шаблона
APK плагина не содержит требуемые ресурсы для variant=\"%1$s\": %2$s.
APK плагина не содержит требуемые native-библиотеки: %1$s.
+ Плагин \"%1$s\" не авторизован в Центре плагинов
+ Плагин \"%1$s\" не включен в Центре плагинов
+ Плагин \"%1$s\" не найден среди установленных приложений
Плагин %1$s вернул пустую информацию.
Плагин %1$s вернул недопустимый variant: %2$s.
Номер порта более 65535
@@ -369,6 +377,7 @@
Неизвестный тип результата {имя: %s, params: %s}
Неизвестный селектор {имя: %s, тип: %s}
Неизвестный тип: %s
+ Неподдерживаемое подключение плагина
Формат WebP-Lossless нельзя сжать с параметром качества; используйте вместо этого JPEG/PNG/WebP-Lossy
Файл не существует или недоступен для чтения
\"Файл не существует или не доступен для чтения: %s\".
@@ -385,6 +394,7 @@
Задержка перед циклом
0 для бесконечного цикла
Поддерживаются IPv4, IPv6 и доменные имена.
+ Попробуйте нажать кнопку \"Активировать\", чтобы активировать плагин один раз.\nЕсли активация пройдет успешно, кнопка автоматически включится в течение некоторого времени.
Введите URL, указывающий на удалённый плагин.\nНапример: \"https://example.com/plugin.apk\".
Удалить навсегда
Переместить в корзину
@@ -431,6 +441,7 @@
Посл. устан.
Посл. удал.
Посл. обновл.
+ Механизм
Размер пакета
Обновл. вер.
Вы уверены, что игнорируете текущую версию обновления?\nВы можете управлять всеми игнорируемыми версиями в настройках приложения.
@@ -461,6 +472,7 @@
Добавление ярлыков в пусковую установку
Запуск или остановка записи, управляемая клавишей уменьшения громкости, когда отображается плавающая кнопка
Нажмите клавишу \"Громкость вверх\", чтобы остановить все запущенные скрипты
+ ": "
Внутреннее хранилище
Служба доступности
Требуется для автоматической работы сценария (щелчок, длительное нажатие, скольжение и т.д.).
@@ -483,6 +495,7 @@
Прокрутка вперед (scrollForward)
Установить текст (setText)
Действие
+ Активация выполнена
Нет установщика APK
Необходим инструмент ADB
Добавить цветовую библиотеку
@@ -542,8 +555,11 @@
Код версии приложения
Название версии приложения
Внешний вид
+ Применение бинарных ресурсов
Необходимо заполнить хотя бы одно поле из: [Полное имя, Название организации, Организационная единица, Код страны, Штат или провинция, Город или населенный пункт, Улица]
Атрибут
+ Авторизовать плагин
+ Это сторонний плагин. Обратите внимание на источник плагина и безопасность использования.\n\nНажмите кнопку \"Авторизовать\", чтобы включить плагин.
Автоматическая проверка обновлений
Автоматическая проверка обновлений и отображение закуски на домашней странице
Автоматический ночной режим
@@ -552,8 +568,27 @@
Назад
Действие
Трансляция задачи
+ Собрать
Сборка APK
+ Сборка завершена
+ Профиль сборки
+ Профиль по умолчанию нельзя удалить
+ Профиль project.json нельзя удалить
+ Удалить профиль
+ Поля профиля
+ Настроить поля профиля
+ Отмеченные поля сохраняются как фиксированные значения в этом профиле.
+ Другие действия профиля
+ Нельзя использовать зарезервированные имена профиля (Default, project.json)
+ Имя профиля сборки
+ Новый профиль
+ В текущей конфигурации сборки есть несохраненные изменения.
+ В текущей конфигурации сборки есть несохраненные изменения; они будут записаны в project.json.
+ Сохранить изменения перед продолжением?
Сборка прошла успешно
+ Сборка APK
+ Сборка ресурсов
+ Путь к собранному APK
Отменить
Отмен
Профиль по умолчанию нельзя удалить
@@ -585,6 +620,9 @@
Выберите путь восстановления
Город или населенный пункт
Имя класса / пакета
+ Очистить
+ Очистка завершена
+ Очистка рабочей области
Очистить
Очистить выбор файла
Очистить сценарий предварительного выполнения
@@ -613,6 +651,8 @@
Совместимость
Доверие
Конфигурация
+ Настройка manifest
+ Настройка имени пакета
Вы уверены, что хотите удалить все элементы?
Очистить историю?
Следующая история будет очищена\n\n[ %1$s ]\n\nОчистить?
@@ -628,6 +668,7 @@
Соединение не может быть установлено
Не удалось подключиться
Консоль
+ Содержимое
Продолжить
Скопировать
Скопировать все
@@ -642,8 +683,18 @@
Копировать в буфер обмена
Копировать значение
Копирование...
+ Копирование asset
+ Копирование assets в
+ Копирование каталога
+ Копирование файла
+ Копирование библиотек для ABI
+ Копирование библиотеки
+ Копирование нативных библиотек
+ Копирование каталога проекта
+ Копирование файла скрипта
Код страны (XX)
Код страны должен состоять из двух заглавных букв
+ Создание неподписанного APK
Конфигурация страницы
Текущая версия
Ежедневная задача
@@ -726,10 +777,12 @@
Включить службу доступа с безопасными настройками по таймеру
Включить плагин
Включено
+ Шифрование скрипта
Ошибка
Не удалось скопировать файл: %s
Отчет об ошибке
Оценка
+ Сведения об исключении
Выполнить
Код выполнения
[%s] завершилось через %s секунд.\n
@@ -742,6 +795,11 @@
Экспортировано
Расширение встроенных объектов JavaScript
Расширяемость
+ Assets плагина извлечены
+ Библиотеки плагина извлечены
+ Извлечение asset плагина
+ Извлечение файла so плагина
+ Извлечение шаблонного APK
Не удалось
Не удалось создать
Не удалось создать ключ подписи
@@ -762,6 +820,7 @@
Не удалось зарегистрироваться
Не удалось отправить
Не удалось получить
+ Не удалось сохранить project.json
Не удалось сохранить удаленный проект в локальное хранилище
Не удалось отправить записи журнала
Не удалось обновить
@@ -812,6 +871,7 @@
Кнопка скрытия
Скрыть этот узел
Скрыть узел того же фрейма
+ Подсказка
История
История очищена
Значок
@@ -867,6 +927,11 @@
Последний пакет
Запуск конфигурации
Запуск отладчика
+ Показывать значок приложения в лаунчере
+ Показывать логи при запуске
+ Запускать скрипт при загрузке
+ Текст слогана заставки
+ Показывать заставку при запуске
Значок запуска
Ярлыки лаунчера
Смена значков запуска на некоторых устройствах может привести к потере всех существующих ярлыков AutoJs6, действуйте с осторожностью
@@ -982,9 +1047,9 @@
Разрешить приложению выполнять покупки внутри приложения
Разрешить приложению доступ к устройствам Bluetooth
Разрешить приложению настраивать устройства Bluetooth
+ Разрешить приложению рекламировать себя через Bluetooth
Разрешить приложению доступ к устройствам Bluetooth и состоянию подключения
Разрешить приложению сканировать близлежащие устройства Bluetooth
- Разрешить приложению рекламировать себя через Bluetooth
Разрешить приложению отправлять намерение для закрытия системных диалогов
Разрешить приложению совершать телефонные звонки
Разрешить приложению доступ к камере
@@ -1068,15 +1133,28 @@
Имя ввода
Пожалуйста, подождите...
Пожалуйста, повторите попытку позже...
+ Активирован
+ Рекомендуется активация
+ Авторизация отклонена
+ Требуется авторизация
+ Авторизован
Центр плагинов
Сведения о плагине
+ Официальный
+ Доверенный
Плагины
Расположение указателя
Переключение \"Расположение указателя\" не удалось.\nТребуется корневой доступ.
почтовые уведомления
Чтобы обеспечить корректную работу фоновых служб переднего плана AutoJs6 и возможность публикации уведомлений скриптами, AutoJs6 необходимо предоставить разрешение \"публикации уведомлений\".
Предварительное выполнение сценария
+ Подготовить
+ Подготовка завершена
Подготовка...
+ Подготовка каталога assets
+ Подготовка конфигурации сборки
+ Подготовка keystore
+ Подготовка рабочей области
Содержимое предустановленного диалога
Предустановленный заголовок диалога
Нажмите еще раз, чтобы закрыть диалог
@@ -1085,14 +1163,19 @@
Предварительный просмотр
Журнал процесса
Обработка
+ Обработка исходников
Проект
Расположение проекта
Доступ к носителям проекта
Запрос
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ Обрезка
Выйти
+ Повторная подпись APK
+ Чтение ресурсов заставки
Рекомендуемый
Запись завершена
Запрос записи
@@ -1118,6 +1201,7 @@
Заменить
Заменить все
Замен
+ Замена файла
URL репозитория расширения VSCode
Отправить успешно
Требуется версия Android OS %s (API %s), но текущая версия %s (API %s)
@@ -1126,6 +1210,7 @@
Сброс выполнен успешно
Сброс первоначально
Сброс выполняется только для образцов
+ Разбор нативных библиотек плагина
Перезапустить
Стратегия перезагрузки
Восстановить
@@ -1167,6 +1252,7 @@
Сохранить конфигурацию как
Сохран
Сохранить в
+ Сохранение...
Движок
Задержка старта
Задержка запроса разрешения на захват экрана
@@ -1187,6 +1273,7 @@
Выберите файл для загрузки
Выбрать значок
Выбрать изображение
+ Выбранный плагин
Отправить
Создать ярлык
Режим сервера
@@ -1203,6 +1290,9 @@
Вид в границах макета
Вид в иерархии макета
Показать информацию о виджете
+ Подписать
+ Подпись завершена
+ Этап подписи завершен
Алгоритм подписи
Конфигурация подписи
Схема подписи
@@ -1220,6 +1310,7 @@
Время (сначала новые)
Источник
Путь к исходному коду
+ Обработка исходников завершена
Специальные разрешения
Стабильный режим
Звезда
@@ -1258,6 +1349,7 @@
Задание по времени
Движок планирования таймерных задач
Время
+ Заголовок
Выбрать
Переключить все
Инструменты
@@ -1282,6 +1374,7 @@
Неизвестное Описание
Неизвестный Заголовок
Неизвестная Версия
+ Неподписанный APK создан
Не подтверждено
Доступно обновление
Обновить
@@ -1289,6 +1382,7 @@
Обновления проверенные состояния очищены
Позже
Просмотр
+ Обновление конфигурации проекта
Доступ к статистике использования
Использовать ярлык Android 7.0
Использовать значок по умолчанию
@@ -1298,6 +1392,7 @@
Имя пользователя не может быть пустым
Использовать селектор по описанию
Использовать селектор id
+ Использование keystore
Использовать текстовый селектор
Срок действия (годы)
Срок действия не может быть пустым
@@ -1329,86 +1424,12 @@
Путь к рабочему каталогу
Параметры безопасности записи
Запись системных настроек
+ Запись значка приложения
+ Запись manifest
+ Запись конфигурации проекта
+ Запись resources.arsc
+ Запись подписанного APK
Всплывающие окна в фоне
Настройки не сохранены. Продолжить?
Настройки не сохранены. Выйти?
- Не удалось сохранить
- Сохранение...
- ": "
- Не удалось включить плагин
- Сведения об исключении
- Подсказка
- Попробуйте нажать кнопку \"Активировать\", чтобы активировать плагин один раз.\nЕсли активация пройдет успешно, кнопка автоматически включится в течение некоторого времени.
- Активировать
- Активация выполнена
- Авторизовать плагин
- Это сторонний плагин. Обратите внимание на источник плагина и безопасность использования.\n\nНажмите кнопку \"Авторизовать\", чтобы включить плагин.
- Авторизовать
- Официальный
- Авторизован
- Требуется авторизация
- Авторизация отклонена
- Рекомендуется активация
- Активирован
- Доверенный
- Механизм
- Плагин \"%1$s\" не включен в Центре плагинов
- Плагин \"%1$s\" не авторизован в Центре плагинов
- Плагин \"%1$s\" не найден среди установленных приложений
- Неподдерживаемое подключение плагина
- %1$s:
- Заголовок
- Содержимое
- Сборка APK
- Путь к собранному APK
- Очистить
- Подписать
- Собрать
- Подготовить
- Подготовка рабочей области
- Извлечение шаблонного APK
- Подготовка завершена
- Копирование каталога проекта
- Копирование файла скрипта
- Обработка исходников завершена
- Копирование каталога
- Копирование файла
- Шифрование скрипта
- Замена файла
- Подготовка конфигурации сборки
- Чтение ресурсов заставки
- Настройка manifest
- Настройка имени пакета
- Копирование assets в
- Обработка исходников
- Применение бинарных ресурсов
- Копирование нативных библиотек
- Обновление конфигурации проекта
- Этап подписи завершен
- Запись конфигурации проекта
- Сборка ресурсов
- Сборка завершена
- Запись resources.arsc
- Запись manifest
- Запись значка приложения
- Копирование asset
- Подготовка каталога assets
- Копирование библиотеки
- Подготовка keystore
- Неподписанный APK создан
- Создание неподписанного APK
- Использование keystore
- Повторная подпись APK
- Запись подписанного APK
- Подпись завершена
- Очистка завершена
- Очистка рабочей области
- Разбор нативных библиотек плагина
- Копирование библиотек для ABI
- Выбранный плагин
- Библиотеки плагина извлечены
- Assets плагина извлечены
- Извлечение asset плагина
- Извлечение файла so плагина
- Запись скриптов требует выполнения хотя бы одного из следующих условий:\n- Доступ root\n- Доступ Shizuku
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 0963b2d5..0053c5b6 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -113,9 +113,11 @@
放棄
中止
中止連接
+ 激活
添加
高級設置
修正地址
+ 授權
@string/text_back
取消
取消下載
@@ -225,6 +227,7 @@
檢查更新失敗
冒號需跟隨有效的 IP 地址
羅盤參數不能為 null
+ 腳本錄製需至少滿足以下條件之一:\n- Root 權限\n- Shizuku 權限
連接失敗: %s
連接至 \"%1$s\" 失敗.
連接超時 (%d 毫秒)
@@ -248,6 +251,7 @@
無法將值 %s 轉換為 Drawable 實例
複製失敗
創建失敗
+ 插件啓用失敗
跳轉設置頁面失敗
Shizuku 權限授予失敗
實例 \"%s\" 創建失敗
@@ -264,6 +268,7 @@
獲取 version.properties 失敗, 無法解析版本信息
Shizuku 權限撤銷失敗
腳本運行失敗
+ 保存失敗
保存項目配置失敗
路徑 \"%1$s\" 對應文件不存在
UI 線程內無法執行阻塞操作. 可嘗試在子線程或子腳本中執行 %s()
@@ -324,6 +329,9 @@
正則表達式句法錯誤
插件 APK 不包含變體 \"%1$s\" 所需的資源文件: %2$s.
插件 APK 不包含所需的 native 庫文件: %1$s.
+ 插件 \"%1$s\" 未在插件中心獲得授權
+ 插件 \"%1$s\" 未在插件中心啓用
+ 已安裝應用中未找到插件 \"%1$s\"
%1$s 插件返回的 info 為空.
%1$s 插件返回的 variant 無效: %2$s.
端口號超過 65535
@@ -365,6 +373,7 @@
未知結果類型 {名稱: %s, 參數: %s}
未知選擇器 {名稱: %s, 類型: %s}
未知類型: %s
+ 不支持的插件連接方式
WebP-Lossless 格式無法使用 quality 質量參數進行壓縮, 可改用 JPEG/PNG/WebP-Lossy
文件不存在或不可讀
文件不存在或不可讀: %s
@@ -381,6 +390,7 @@
開始循環前的延遲
0 表示無限循環
支持 IPv4, IPv6 及域名.
+ 可嘗試點擊 \"激活\" 按鈕激活一次插件.\n如激活成功, 按鈕將在一定時間內自動開啓.
輸入一個指向遠程插件地址的 URL.\n例如 \"https://example.com/plugin.apk\".
永久刪除
移入回收站
@@ -427,6 +437,7 @@
最近安裝
最近卸載
最近更新
+ 機制
安裝包大小
可更新版本
確定忽略當前更新版本嗎?\n在應用設置中可管理已忽略的所有版本.
@@ -457,6 +468,7 @@
添加快捷方式到啓動器
按 \"音量減\" 鍵開始或停止腳本錄製 (需開啓浮動按鈕)
按 \"音量加\" 鍵停止所有正在運行的腳本
+ ": "
內部存儲
無障礙服務
腳本自動操作 (點擊/長按/滑動等) 所需
@@ -479,6 +491,7 @@
向前/右/下滑動 (scrollForward)
設置文本 (setText)
動作
+ 激活成功
找不到 APK 安裝器
需要 ADB 命令行工具
添加顏色庫
@@ -538,8 +551,11 @@
應用版本號
應用版本名
外觀
+ 正在應用二進制資源
[姓名, 組織名稱, 組織單位, 國家代碼, 州或省份, 城市或區域, 街道] 至少填寫一個
屬性
+ 授權插件
+ 這是一個第三方插件, 請注意插件來源及使用安全.\n\n點擊 \"授權\" 按鈕以啓用插件.
自動檢查更新
自動檢查更新並在首頁下方顯示通知條
自動夜間模式
@@ -548,8 +564,27 @@
返回
動作 (Action)
廣播觸發任務
+ 構建
打包應用
+ 構建完成
+ 構建配置
+ 默認配置不可刪除
+ project.json 配置不可刪除
+ 刪除配置
+ 配置字段
+ 配置字段設置
+ 已勾選字段將作為固定值保存在此配置中.
+ 更多配置操作
+ 不能使用保留的配置名稱 (默認, project.json)
+ 構建配置名稱
+ 新建配置
+ 當前構建配置存在未保存的更改.
+ 當前構建配置存在未保存的更改, 將被寫入 project.json.
+ 是否在繼續前保存更改
打包成功
+ 正在打包應用
+ 正在構建資源
+ 打包應用文件路徑
取消
取消
默認配置不可刪除
@@ -581,6 +616,9 @@
選擇恢復路徑
城市或區域
類/包名
+ 清理
+ 清理完成
+ 正在清理工作區
清空
清空文件選擇
清空預執行腳本
@@ -609,6 +647,8 @@
兼容性
置信度
配置
+ 正在配置清單文件
+ 正在配置包名
是否確定清空全部記錄
是否確定清空歷史記錄
以下歷史記錄將被清空\n\n[ %1$s ]\n\n是否確定清空
@@ -624,6 +664,7 @@
無法建立連接
連接失敗
控制枱
+ 內容
繼續
複製
複製全部
@@ -638,8 +679,18 @@
複製到剪貼板
複製值
複製中...
+ 正在複製資源
+ 正在複製資源到
+ 正在複製目錄
+ 正在複製文件
+ 正在複製 ABI 庫文件
+ 正在複製庫文件
+ 正在複製原生庫
+ 正在複製項目目錄
+ 正在複製腳本文件
國家代碼 (XX)
國家代碼必須為兩個大寫字母
+ 正在創建未簽名 APK
當前頁面配置
當前版本
每日任務
@@ -722,10 +773,12 @@
使用修改安全設置權限啓用無障礙服務超時
啓用插件
已啓用
+ 正在加密腳本
錯誤
文件複製失敗: %s
錯誤報告
預估
+ 異常信息
執行
執行代碼
[%s] 運行結束 (用時 %s 秒)\n
@@ -738,6 +791,11 @@
已導出
JavaScript 內置對象擴展
擴展性
+ 已提取插件資源
+ 已提取插件庫文件
+ 正在提取插件資源
+ 正在提取插件 so 文件
+ 正在提取模板 APK
失敗
打包失敗
生成簽名密鑰失敗
@@ -758,6 +816,7 @@
註冊失敗
提交失敗
獲取失敗
+ 保存 project.json 失敗
無法保存遠程項目至本地
日誌條目發送失敗
更新失敗
@@ -808,6 +867,7 @@
隱藏按鈕
隱藏此節點
隱藏同框節點
+ 提示
歷史記錄
歷史記錄已清空
圖標
@@ -863,6 +923,11 @@
最近包名
運行配置
啓動調試
+ 在啓動器中顯示應用圖標
+ 啓動時顯示日誌
+ 開機時運行腳本
+ 啓動頁標語文本
+ 啓動時顯示啓動頁
啓動器圖標
啓動器快捷方式
部分設備切換啓動器圖標可能導致已創建的 AutoJs6 快捷方式全部丟失, 需謹慎操作
@@ -978,9 +1043,9 @@
允許應用執行應用內購買
允許應用訪問藍牙設備
允許應用配置藍牙設備
+ 允許應用透過藍牙廣播
允許應用訪問藍牙設備及連接狀態
允許應用搜尋附近的藍牙設備
- 允許應用透過藍牙廣播
允許應用發送一個意圖來關閉系統對話框
允許應用撥打電話
允許應用訪問相機
@@ -1064,15 +1129,28 @@
請輸入名稱
請稍候...
請稍後再嘗試此操作...
+ 已激活
+ 建議激活
+ 授權拒絕
+ 需要授權
+ 已授權
插件中心
插件詳情
+ 官方
+ 受信任
插件
指針位置
切換 \"指針位置\" 顯示狀態失敗\n可能缺少 root 權限
發佈通知權限
為確保 AutoJs6 前台服務等能夠正常運行, 腳本能夠發佈通知, AutoJs6 需要被授予 \"發佈通知權限\".
預執行腳本
+ 準備
+ 準備完成
準備中...
+ 正在準備資源目錄
+ 正在準備構建配置
+ 正在準備密鑰庫
+ 正在準備工作區
預設對話框內容
預設對話框標題
再按一次關閉對話框
@@ -1081,14 +1159,19 @@
預覽
流程日誌
正在處理
+ 正在處理源代碼
項目
項目位置
投影媒體權限
提示
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ 正在修剪
放棄
+ 正在重新簽名 APK
+ 正在讀取啓動頁資源
推薦
錄製完成
錄製提示
@@ -1114,6 +1197,7 @@
替換
全部替換
替換
+ 正在替換文件
VSCode 插件項目地址
提交成功
要求最低安卓系統版本 %s (API %s), 當前為 %s (API %s)
@@ -1122,6 +1206,7 @@
重置成功
重置為初始內容
只能重置示例代碼文件
+ 正在解析插件原生庫
重啓
重啓策略
恢復
@@ -1163,6 +1248,7 @@
配置另存為
保存
保存到
+ 正在保存...
調度引擎
啓動延遲
屏幕捕獲權限申請延遲
@@ -1183,6 +1269,7 @@
選擇要上傳的文件
選擇圖標
選擇圖片
+ 已選擇插件
發送
創建快捷方式
服務端模式
@@ -1199,6 +1286,9 @@
在佈局範圍中查看
在佈局層次中查看
顯示控件信息
+ 簽名
+ 簽名完成
+ 簽名階段完成
簽名算法
簽名配置
簽名方案
@@ -1216,6 +1306,7 @@
時間 (最新優先)
來源
源代碼路徑
+ 源代碼處理完成
特殊權限
穩定模式
收藏
@@ -1254,6 +1345,7 @@
定時任務
定時任務調度引擎
定時
+ 標題
待選擇
全選切換
工具
@@ -1278,6 +1370,7 @@
未知描述
未知標題
未知版本
+ 未簽名 APK 已創建
未驗證
可更新
更新
@@ -1285,6 +1378,7 @@
更新檢查狀態已清除
稍後提示
查看更新
+ 正在更新項目配置
查看使用情況權限
使用安卓 7.0 快捷方式
使用默認圖標
@@ -1294,6 +1388,7 @@
用户名不能為空
使用描述選擇器 (desc)
使用 id 選擇器 (id)
+ 正在使用密鑰庫
使用文本選擇器 (text)
有效期 (年)
有效年份不能為空
@@ -1325,86 +1420,12 @@
工作路徑
修改安全設置
修改系統設置
+ 正在寫入應用圖標
+ 正在寫入清單文件
+ 正在寫入項目配置
+ 正在寫入 resources.arsc
+ 正在寫入已簽名 APK
後台彈出界面
設置尚未保存, 確定要繼續操作嗎
設置尚未保存, 確定要退出嗎
- 保存失敗
- 正在保存...
- ": "
- 插件啓用失敗
- 異常信息
- 提示
- 可嘗試點擊 \"激活\" 按鈕激活一次插件.\n如激活成功, 按鈕將在一定時間內自動開啓.
- 激活
- 激活成功
- 授權插件
- 這是一個第三方插件, 請注意插件來源及使用安全.\n\n點擊 \"授權\" 按鈕以啓用插件.
- 授權
- 官方
- 已授權
- 需要授權
- 授權拒絕
- 建議激活
- 已激活
- 受信任
- 機制
- 插件 \"%1$s\" 未在插件中心啓用
- 插件 \"%1$s\" 未在插件中心獲得授權
- 已安裝應用中未找到插件 \"%1$s\"
- 不支持的插件連接方式
- %1$s:
- 標題
- 內容
- 正在打包應用
- 打包應用文件路徑
- 清理
- 簽名
- 構建
- 準備
- 正在準備工作區
- 正在提取模板 APK
- 準備完成
- 正在複製項目目錄
- 正在複製腳本文件
- 源代碼處理完成
- 正在複製目錄
- 正在複製文件
- 正在加密腳本
- 正在替換文件
- 正在準備構建配置
- 正在讀取啓動頁資源
- 正在配置清單文件
- 正在配置包名
- 正在複製資源到
- 正在處理源代碼
- 正在應用二進制資源
- 正在複製原生庫
- 正在更新項目配置
- 簽名階段完成
- 正在寫入項目配置
- 正在構建資源
- 構建完成
- 正在寫入 resources.arsc
- 正在寫入清單文件
- 正在寫入應用圖標
- 正在複製資源
- 正在準備資源目錄
- 正在複製庫文件
- 正在準備密鑰庫
- 未簽名 APK 已創建
- 正在創建未簽名 APK
- 正在使用密鑰庫
- 正在重新簽名 APK
- 正在寫入已簽名 APK
- 簽名完成
- 清理完成
- 正在清理工作區
- 正在解析插件原生庫
- 正在複製 ABI 庫文件
- 已選擇插件
- 已提取插件庫文件
- 已提取插件資源
- 正在提取插件資源
- 正在提取插件 so 文件
- 腳本錄製需至少滿足以下條件之一:\n- Root 權限\n- Shizuku 權限
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index c71727dd..df8cbfd4 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -113,9 +113,11 @@
放棄
中止
中止連線
+ 啟用
新增
高階設定
修正地址
+ 授權
@string/text_back
取消
取消下載
@@ -225,6 +227,7 @@
檢查更新失敗
冒號需跟隨有效的 IP 地址
羅盤引數不能為 null
+ 指令碼錄製需至少滿足以下條件之一:\n- Root 許可權\n- Shizuku 許可權
連線失敗: %s
連線至 \"%1$s\" 失敗.
連線超時 (%d 毫秒)
@@ -248,6 +251,7 @@
無法將值 %s 轉換為 Drawable 例項
複製失敗
建立失敗
+ 外掛啟用失敗
跳轉設定頁面失敗
Shizuku 許可權授予失敗
例項 \"%s\" 建立失敗
@@ -264,6 +268,7 @@
獲取 version.properties 失敗, 無法解析版本資訊
Shizuku 許可權撤銷失敗
指令碼執行失敗
+ 儲存失敗
儲存專案配置失敗
路徑 \"%1$s\" 對應檔案不存在
UI 執行緒內無法執行阻塞操作. 可嘗試在子執行緒或子指令碼中執行 %s()
@@ -324,6 +329,9 @@
正則表示式句法錯誤
外掛 APK 不包含變體 \"%1$s\" 所需的資原始檔: %2$s.
外掛 APK 不包含所需的 native 庫檔案: %1$s.
+ 外掛 \"%1$s\" 未在外掛中心獲得授權
+ 外掛 \"%1$s\" 未在外掛中心啟用
+ 已安裝應用中未找到外掛 \"%1$s\"
%1$s 外掛返回的 info 為空.
%1$s 外掛返回的 variant 無效: %2$s.
埠號超過 65535
@@ -365,6 +373,7 @@
未知結果型別 {名稱: %s, 引數: %s}
未知選擇器 {名稱: %s, 型別: %s}
未知型別: %s
+ 不支援的外掛連線方式
WebP-Lossless 格式無法使用 quality 質量引數進行壓縮, 可改用 JPEG/PNG/WebP-Lossy
檔案不存在或不可讀
檔案不存在或不可讀: %s
@@ -381,6 +390,7 @@
開始迴圈前的延遲
0 表示無限迴圈
支援 IPv4, IPv6 及域名.
+ 可嘗試點選 \"啟用\" 按鈕啟用一次外掛.\n如啟用成功, 按鈕將在一定時間內自動開啟.
輸入一個指向遠端外掛地址的 URL.\n例如 \"https://example.com/plugin.apk\".
永久刪除
移入回收站
@@ -427,6 +437,7 @@
最近安裝
最近解除安裝
最近更新
+ 機制
安裝包大小
可更新版本
確定忽略當前更新版本嗎?\n在應用設定中可管理已忽略的所有版本.
@@ -457,6 +468,7 @@
新增快捷方式到啟動器
按 \"音量減\" 鍵開始或停止指令碼錄製 (需開啟浮動按鈕)
按 \"音量加\" 鍵停止所有正在執行的指令碼
+ ": "
內部儲存
無障礙服務
指令碼自動操作 (點選/長按/滑動等) 所需
@@ -479,6 +491,7 @@
向前/右/下滑動 (scrollForward)
設定文字 (setText)
動作
+ 啟用成功
找不到 APK 安裝器
需要 ADB 命令列工具
新增顏色庫
@@ -538,8 +551,11 @@
應用版本號
應用版本名
外觀
+ 正在應用二進位制資源
[姓名, 組織名稱, 組織單位, 國家代碼, 州或省份, 城市或區域, 街道] 至少填寫一個
屬性
+ 授權外掛
+ 這是一個第三方外掛, 請注意外掛來源及使用安全.\n\n點選 \"授權\" 按鈕以啟用外掛.
自動檢查更新
自動檢查更新並在首頁下方顯示通知條
自動夜間模式
@@ -548,8 +564,27 @@
返回
動作 (Action)
廣播觸發任務
+ 構建
打包應用
+ 構建完成
+ 構建配置
+ 預設配置不可刪除
+ project.json 配置不可刪除
+ 刪除配置
+ 配置欄位
+ 配置欄位設定
+ 已勾選欄位將作為固定值儲存在此配置中.
+ 更多配置操作
+ 不能使用保留的配置名稱 (預設, project.json)
+ 構建配置名稱
+ 新建配置
+ 當前構建配置存在未儲存的更改.
+ 當前構建配置存在未儲存的更改, 將被寫入 project.json.
+ 是否在繼續前儲存更改
打包成功
+ 正在打包應用
+ 正在構建資源
+ 打包應用檔案路徑
取消
取消
預設配置不可刪除
@@ -581,6 +616,9 @@
選擇恢復路徑
城市或區域
類/包名
+ 清理
+ 清理完成
+ 正在清理工作區
清空
清空檔案選擇
清空預執行指令碼
@@ -609,6 +647,8 @@
相容性
置信度
配置
+ 正在配置清單檔案
+ 正在配置包名
是否確定清空全部記錄
是否確定清空歷史記錄
以下歷史記錄將被清空\n\n[ %1$s ]\n\n是否確定清空
@@ -624,6 +664,7 @@
無法建立連線
連線失敗
控制檯
+ 內容
繼續
複製
複製全部
@@ -638,8 +679,18 @@
複製到剪貼簿
複製值
複製中...
+ 正在複製資源
+ 正在複製資源到
+ 正在複製目錄
+ 正在複製檔案
+ 正在複製 ABI 庫檔案
+ 正在複製庫檔案
+ 正在複製原生庫
+ 正在複製專案目錄
+ 正在複製指令碼檔案
國家代碼 (XX)
國家代碼必須是兩個大寫字母
+ 正在建立未簽名 APK
當前頁面配置
當前版本
每日任務
@@ -722,10 +773,12 @@
使用修改安全設定許可權啟用無障礙服務超時
啟用外掛
已啟用
+ 正在加密指令碼
錯誤
檔案複製失敗: %s
錯誤報告
預估
+ 異常資訊
執行
執行程式碼
[%s] 執行結束 (用時 %s 秒)\n
@@ -738,6 +791,11 @@
已匯出
JavaScript 內建物件擴充套件
擴充套件性
+ 已提取外掛資源
+ 已提取外掛庫檔案
+ 正在提取外掛資源
+ 正在提取外掛 so 檔案
+ 正在提取模板 APK
失敗
打包失敗
生成簽名密鑰失敗
@@ -758,6 +816,7 @@
註冊失敗
提交失敗
獲取失敗
+ 儲存 project.json 失敗
無法儲存遠端專案至本地
日誌條目傳送失敗
更新失敗
@@ -808,6 +867,7 @@
隱藏按鈕
隱藏此節點
隱藏同框節點
+ 提示
歷史記錄
歷史記錄已清空
圖示
@@ -863,6 +923,11 @@
最近包名
執行配置
啟動除錯
+ 在啟動器中顯示應用圖示
+ 啟動時顯示日誌
+ 開機時執行指令碼
+ 啟動頁標語文字
+ 啟動時顯示啟動頁
啟動器圖示
啟動器快捷方式
部分裝置切換啟動器圖示可能導致已建立的 AutoJs6 快捷方式全部丟失, 需謹慎操作
@@ -978,9 +1043,9 @@
允許應用執行應用內購買
允許應用訪問藍牙設備
允許應用配置藍牙設備
+ 允許應用透過藍牙廣播
允許應用訪問藍牙設備及連接狀態
允許應用搜尋附近的藍牙設備
- 允許應用透過藍牙廣播
允許應用發送一個意圖來關閉系統對話框
允許應用撥打電話
允許應用訪問相機
@@ -1064,15 +1129,28 @@
請輸入名稱
請稍候...
請稍後再嘗試此操作...
+ 已啟用
+ 建議啟用
+ 授權拒絕
+ 需要授權
+ 已授權
外掛中心
外掛詳情
+ 官方
+ 受信任
外掛
指標位置
切換 \"指標位置\" 顯示狀態失敗\n可能缺少 root 許可權
釋出通知許可權
為確保 AutoJs6 前臺服務等能夠正常執行, 指令碼能夠釋出通知, AutoJs6 需要被授予 \"釋出通知許可權\".
預執行指令碼
+ 準備
+ 準備完成
準備中...
+ 正在準備資源目錄
+ 正在準備構建配置
+ 正在準備金鑰庫
+ 正在準備工作區
預設對話方塊內容
預設對話方塊標題
再按一次關閉對話方塊
@@ -1081,14 +1159,19 @@
預覽
流程日誌
正在處理
+ 正在處理原始碼
專案
專案位置
投影媒體許可權
提示
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ 正在修剪
放棄
+ 正在重新簽名 APK
+ 正在讀取啟動頁資源
推薦
錄製完成
錄製提示
@@ -1114,6 +1197,7 @@
替換
全部替換
替換
+ 正在替換檔案
VSCode 外掛專案地址
提交成功
要求最低安卓系統版本 %s (API %s), 當前為 %s (API %s)
@@ -1122,6 +1206,7 @@
重置成功
重置為初始內容
只能重置示例程式碼檔案
+ 正在解析外掛原生庫
重啟
重啟策略
恢復
@@ -1163,6 +1248,7 @@
配置另存為
儲存
儲存到
+ 正在儲存...
排程引擎
啟動延遲
螢幕捕獲許可權申請延遲
@@ -1183,6 +1269,7 @@
選擇要上傳的檔案
選擇圖示
選擇圖片
+ 已選擇外掛
傳送
建立快捷方式
服務端模式
@@ -1199,6 +1286,9 @@
在佈局範圍中檢視
在佈局層次中檢視
顯示控制元件資訊
+ 簽名
+ 簽名完成
+ 簽名階段完成
簽名演算法
簽名設定
簽名方案
@@ -1216,6 +1306,7 @@
時間 (最新優先)
來源
原始碼路徑
+ 原始碼處理完成
特殊許可權
穩定模式
收藏
@@ -1254,6 +1345,7 @@
定時任務
定時任務排程引擎
定時
+ 標題
待選擇
全選切換
工具
@@ -1278,6 +1370,7 @@
未知描述
未知標題
未知版本
+ 未簽名 APK 已建立
未驗證
可更新
更新
@@ -1285,6 +1378,7 @@
更新檢查狀態已清除
稍後提示
檢視更新
+ 正在更新專案配置
檢視使用情況許可權
使用安卓 7.0 快捷方式
使用預設圖示
@@ -1294,6 +1388,7 @@
使用者名稱不能為空
使用描述選擇器 (desc)
使用 id 選擇器 (id)
+ 正在使用金鑰庫
使用文字選擇器 (text)
有效期 (年)
有效年份不能為空
@@ -1325,86 +1420,12 @@
工作路徑
修改安全設定
修改系統設定
+ 正在寫入應用圖示
+ 正在寫入清單檔案
+ 正在寫入專案配置
+ 正在寫入 resources.arsc
+ 正在寫入已簽名 APK
後臺彈出介面
設定尚未儲存, 確定要繼續操作嗎
設定尚未儲存, 確定要退出嗎
- 儲存失敗
- 正在儲存...
- ": "
- 外掛啟用失敗
- 異常資訊
- 提示
- 可嘗試點選 \"啟用\" 按鈕啟用一次外掛.\n如啟用成功, 按鈕將在一定時間內自動開啟.
- 啟用
- 啟用成功
- 授權外掛
- 這是一個第三方外掛, 請注意外掛來源及使用安全.\n\n點選 \"授權\" 按鈕以啟用外掛.
- 授權
- 官方
- 已授權
- 需要授權
- 授權拒絕
- 建議啟用
- 已啟用
- 受信任
- 機制
- 外掛 \"%1$s\" 未在外掛中心啟用
- 外掛 \"%1$s\" 未在外掛中心獲得授權
- 已安裝應用中未找到外掛 \"%1$s\"
- 不支援的外掛連線方式
- %1$s:
- 標題
- 內容
- 正在打包應用
- 打包應用檔案路徑
- 清理
- 簽名
- 構建
- 準備
- 正在準備工作區
- 正在提取模板 APK
- 準備完成
- 正在複製專案目錄
- 正在複製指令碼檔案
- 原始碼處理完成
- 正在複製目錄
- 正在複製檔案
- 正在加密指令碼
- 正在替換檔案
- 正在準備構建配置
- 正在讀取啟動頁資源
- 正在配置清單檔案
- 正在配置包名
- 正在複製資源到
- 正在處理原始碼
- 正在應用二進位制資源
- 正在複製原生庫
- 正在更新專案配置
- 簽名階段完成
- 正在寫入專案配置
- 正在構建資源
- 構建完成
- 正在寫入 resources.arsc
- 正在寫入清單檔案
- 正在寫入應用圖示
- 正在複製資源
- 正在準備資源目錄
- 正在複製庫檔案
- 正在準備金鑰庫
- 未簽名 APK 已建立
- 正在建立未簽名 APK
- 正在使用金鑰庫
- 正在重新簽名 APK
- 正在寫入已簽名 APK
- 簽名完成
- 清理完成
- 正在清理工作區
- 正在解析外掛原生庫
- 正在複製 ABI 庫檔案
- 已選擇外掛
- 已提取外掛庫檔案
- 已提取外掛資源
- 正在提取外掛資源
- 正在提取外掛 so 檔案
- 指令碼錄製需至少滿足以下條件之一:\n- Root 許可權\n- Shizuku 許可權
\ No newline at end of file
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 4eb96b23..2d959d9b 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -3,7 +3,6 @@
-
构建中
清理临时文件
打包中
@@ -114,9 +113,11 @@
放弃
中止
中止连接
+ 激活
添加
高级设置
修正地址
+ 授权
@string/text_back
取消
取消下载
@@ -226,6 +227,7 @@
检查更新失败
冒号需跟随有效的 IP 地址
罗盘参数不能为 null
+ 脚本录制需至少满足以下条件之一:\n- Root 权限\n- Shizuku 权限
连接失败: %s
连接至 \"%1$s\" 失败.
连接超时 (%d 毫秒)
@@ -249,6 +251,7 @@
无法将值 %s 转换为 Drawable 实例
复制失败
创建失败
+ 插件启用失败
跳转设置页面失败
Shizuku 权限授予失败
实例 \"%s\" 创建失败
@@ -265,6 +268,7 @@
获取 version.properties 失败, 无法解析版本信息
Shizuku 权限撤销失败
脚本运行失败
+ 保存失败
保存项目配置失败
路径 \"%1$s\" 对应文件不存在
UI 线程内无法执行阻塞操作. 可尝试在子线程或子脚本中执行 %s()
@@ -325,6 +329,9 @@
正则表达式句法错误
插件 APK 不包含变体 \"%1$s\" 所需的资源文件: %2$s.
插件 APK 不包含所需的 native 库文件: %1$s.
+ 插件 \"%1$s\" 未在插件中心获得授权
+ 插件 \"%1$s\" 未在插件中心启用
+ 已安装应用中未找到插件 \"%1$s\"
%1$s 插件返回的 info 为空.
%1$s 插件返回的 variant 无效: %2$s.
端口号超过 65535
@@ -366,6 +373,7 @@
未知结果类型 {名称: %s, 参数: %s}
未知选择器 {名称: %s, 类型: %s}
未知类型: %s
+ 不支持的插件连接方式
WebP-Lossless 格式无法使用 quality 质量参数进行压缩, 可改用 JPEG/PNG/WebP-Lossy
文件不存在或不可读
文件不存在或不可读: %s
@@ -382,6 +390,7 @@
开始循环前的延迟
0 表示无限循环
支持 IPv4, IPv6 及域名.
+ 可尝试点击 \"激活\" 按钮激活一次插件.\n如激活成功, 按钮将在一定时间内自动开启.
输入一个指向远程插件地址的 URL.\n例如 \"https://example.com/plugin.apk\".
永久删除
移入回收站
@@ -428,6 +437,7 @@
最近安装
最近卸载
最近更新
+ 机制
安装包大小
可更新版本
确定忽略当前更新版本吗?\n在应用设置中可管理已忽略的所有版本.
@@ -458,6 +468,7 @@
添加快捷方式到启动器
按 \"音量减\" 键开始或停止脚本录制 (需开启浮动按钮)
按 \"音量加\" 键停止所有正在运行的脚本
+ ": "
内部存储
无障碍服务
脚本自动操作 (点击/长按/滑动等) 所需
@@ -480,6 +491,7 @@
向前/右/下滑动 (scrollForward)
设置文本 (setText)
动作
+ 激活成功
找不到 APK 安装器
需要 ADB 命令行工具
添加颜色库
@@ -539,8 +551,11 @@
应用版本号
应用版本名
外观
+ 正在应用二进制资源
[姓名, 组织名称, 组织单位, 国家代码, 州或省份, 城市或区域, 街道] 至少填写一个
属性
+ 授权插件
+ 这是一个第三方插件, 请注意插件来源及使用安全.\n\n点击 \"授权\" 按钮以启用插件.
自动检查更新
自动检查更新并在首页下方显示通知条
自动夜间模式
@@ -549,8 +564,27 @@
返回
动作 (Action)
广播触发任务
+ 构建
打包应用
+ 构建完成
+ 构建配置
+ 默认配置不可删除
+ project.json 配置不可删除
+ 删除配置
+ 配置字段
+ 配置字段设置
+ 已勾选字段将作为固定值保存在此配置中.
+ 更多配置操作
+ 不能使用保留的配置名称 (默认, project.json)
+ 构建配置名称
+ 新建配置
+ 当前构建配置存在未保存的更改.
+ 当前构建配置存在未保存的更改, 将被写入 project.json.
+ 是否在继续前保存更改
打包成功
+ 正在打包应用
+ 正在构建资源
+ 打包应用文件路径
取消
取消
默认配置不可删除
@@ -582,6 +616,9 @@
选择恢复路径
城市或区域
类/包名
+ 清理
+ 清理完成
+ 正在清理工作区
清空
清空文件选择
清空预执行脚本
@@ -610,6 +647,8 @@
兼容性
置信度
配置
+ 正在配置清单文件
+ 正在配置包名
是否确定清空全部记录
是否确定清空历史记录
以下历史记录将被清空\n\n[ %1$s ]\n\n是否确定清空
@@ -625,6 +664,7 @@
无法建立连接
连接失败
控制台
+ 内容
继续
复制
复制全部
@@ -639,8 +679,18 @@
复制到剪贴板
复制值
复制中...
+ 正在复制资源
+ 正在复制资源到
+ 正在复制目录
+ 正在复制文件
+ 正在复制 ABI 库文件
+ 正在复制库文件
+ 正在复制原生库
+ 正在复制项目目录
+ 正在复制脚本文件
国家代码 (XX)
国家代码必须为两个大写字母
+ 正在创建未签名 APK
当前页面配置
当前版本
每日任务
@@ -723,10 +773,12 @@
使用修改安全设置权限启用无障碍服务超时
启用插件
已启用
+ 正在加密脚本
错误
文件复制失败: %s
错误报告
预估
+ 异常信息
执行
执行代码
[%s] 运行结束 (用时 %s 秒)\n
@@ -739,6 +791,11 @@
已导出
JavaScript 内置对象扩展
扩展性
+ 已提取插件资源
+ 已提取插件库文件
+ 正在提取插件资源
+ 正在提取插件 so 文件
+ 正在提取模板 APK
失败
打包失败
生成签名密钥失败
@@ -759,6 +816,7 @@
注册失败
提交失败
获取失败
+ 保存 project.json 失败
无法保存远程项目至本地
日志条目发送失败
更新失败
@@ -809,6 +867,7 @@
隐藏按钮
隐藏此节点
隐藏同框节点
+ 提示
历史记录
历史记录已清空
图标
@@ -864,6 +923,11 @@
最近包名
运行配置
启动调试
+ 在启动器中显示应用图标
+ 启动时显示日志
+ 开机时运行脚本
+ 启动页标语文本
+ 启动时显示启动页
启动器图标
启动器快捷方式
部分设备切换启动器图标可能导致已创建的 AutoJs6 快捷方式全部丢失, 需谨慎操作
@@ -979,9 +1043,9 @@
允许应用执行应用内购买
允许应用访问蓝牙设备
允许应用配置蓝牙设备
+ 允许应用通过蓝牙广播
允许应用访问蓝牙设备及连接状态
允许应用扫描附近的蓝牙设备
- 允许应用通过蓝牙广播
允许应用发送一个意图来关闭系统对话框
允许应用拨打电话
允许应用访问相机
@@ -1065,15 +1129,28 @@
请输入名称
请稍候...
请稍后再尝试此操作...
+ 已激活
+ 建议激活
+ 授权拒绝
+ 需要授权
+ 已授权
插件中心
插件详情
+ 官方
+ 受信任
插件
指针位置
切换 \"指针位置\" 显示状态失败\n可能缺少 root 权限
发布通知权限
为确保 AutoJs6 前台服务等能够正常运行, 脚本能够发布通知, AutoJs6 需要被授予 \"发布通知权限\".
预执行脚本
+ 准备
+ 准备完成
准备中...
+ 正在准备资源目录
+ 正在准备构建配置
+ 正在准备密钥库
+ 正在准备工作区
预设对话框内容
预设对话框标题
再按一次关闭对话框
@@ -1082,14 +1159,19 @@
预览
流程日志
正在处理
+ 正在处理源代码
项目
项目位置
投影媒体权限
提示
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ 正在修剪
放弃
+ 正在重新签名 APK
+ 正在读取启动页资源
推荐
录制完成
录制提示
@@ -1115,6 +1197,7 @@
替换
全部替换
替换
+ 正在替换文件
VSCode 插件项目地址
提交成功
要求最低安卓系统版本 %s (API %s), 当前为 %s (API %s)
@@ -1123,6 +1206,7 @@
重置成功
重置为初始内容
只能重置示例代码文件
+ 正在解析插件原生库
重启
重启策略
恢复
@@ -1164,6 +1248,7 @@
配置另存为
保存
保存到
+ 正在保存...
调度引擎
启动延迟
屏幕捕获权限申请延迟
@@ -1184,6 +1269,7 @@
选择要上传的文件
选择图标
选择图片
+ 已选择插件
发送
创建快捷方式
服务端模式
@@ -1200,6 +1286,9 @@
在布局范围中查看
在布局层次中查看
显示控件信息
+ 签名
+ 签名完成
+ 签名阶段完成
签名算法
签名配置
签名方案
@@ -1217,6 +1306,7 @@
时间 (最新优先)
来源
源代码路径
+ 源代码处理完成
特殊权限
稳定模式
收藏
@@ -1255,6 +1345,7 @@
定时任务
定时任务调度引擎
定时
+ 标题
待选择
全选切换
工具
@@ -1279,6 +1370,7 @@
未知描述
未知标题
未知版本
+ 未签名 APK 已创建
未验证
可更新
更新
@@ -1286,6 +1378,7 @@
更新检查状态已清除
稍后提示
查看更新
+ 正在更新项目配置
查看使用情况权限
使用安卓 7.0 快捷方式
使用默认图标
@@ -1295,6 +1388,7 @@
用户名不能为空
使用描述选择器 (desc)
使用 id 选择器 (id)
+ 正在使用密钥库
使用文本选择器 (text)
有效期 (年)
有效年份不能为空
@@ -1326,86 +1420,12 @@
工作路径
修改安全设置
修改系统设置
+ 正在写入应用图标
+ 正在写入清单文件
+ 正在写入项目配置
+ 正在写入 resources.arsc
+ 正在写入已签名 APK
后台弹出界面
设置尚未保存, 确定要继续操作吗
设置尚未保存, 确定要退出吗
- 保存失败
- 正在保存...
- ": "
- 插件启用失败
- 异常信息
- 提示
- 可尝试点击 \"激活\" 按钮激活一次插件.\n如激活成功, 按钮将在一定时间内自动开启.
- 激活
- 激活成功
- 授权插件
- 这是一个第三方插件, 请注意插件来源及使用安全.\n\n点击 \"授权\" 按钮以启用插件.
- 授权
- 官方
- 已授权
- 需要授权
- 授权拒绝
- 建议激活
- 已激活
- 受信任
- 机制
- 插件 \"%1$s\" 未在插件中心启用
- 插件 \"%1$s\" 未在插件中心获得授权
- 已安装应用中未找到插件 \"%1$s\"
- 不支持的插件连接方式
- %1$s:
- 标题
- 内容
- 正在打包应用
- 打包应用文件路径
- 清理
- 签名
- 构建
- 准备
- 正在准备工作区
- 正在提取模板 APK
- 准备完成
- 正在复制项目目录
- 正在复制脚本文件
- 源代码处理完成
- 正在复制目录
- 正在复制文件
- 正在加密脚本
- 正在替换文件
- 正在准备构建配置
- 正在读取启动页资源
- 正在配置清单文件
- 正在配置包名
- 正在复制资源到
- 正在处理源代码
- 正在应用二进制资源
- 正在复制原生库
- 正在更新项目配置
- 签名阶段完成
- 正在写入项目配置
- 正在构建资源
- 构建完成
- 正在写入 resources.arsc
- 正在写入清单文件
- 正在写入应用图标
- 正在复制资源
- 正在准备资源目录
- 正在复制库文件
- 正在准备密钥库
- 未签名 APK 已创建
- 正在创建未签名 APK
- 正在使用密钥库
- 正在重新签名 APK
- 正在写入已签名 APK
- 签名完成
- 清理完成
- 正在清理工作区
- 正在解析插件原生库
- 正在复制 ABI 库文件
- 已选择插件
- 已提取插件库文件
- 已提取插件资源
- 正在提取插件资源
- 正在提取插件 so 文件
- 脚本录制需至少满足以下条件之一:\n- Root 权限\n- Shizuku 权限
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2f894d30..6845df06 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -144,6 +144,7 @@
key_$_night_mode_follow_system
key_$_night_mode_null
key_$_not_showing_main_activity
+ key_$_run_on_boot_inrt
key_$_pc_server_address_histories
key_$_post_notifications_permission
key_$_post_notifications_permission_auto_request_done
@@ -387,9 +388,11 @@
Abandon
Abort
Abort
+ Activate
Add
Advanced
Amend
+ Authorize
@string/text_back
Cancel
Cancel
@@ -502,6 +505,7 @@
Failed to check for updates
Colon must follow a valid IP address
Compass cannot be null
+ Script recording requires at least one of the following conditions:\n- Root access\n- Shizuku access
Cannot connect to the remote server: %s
Failed to connect to \"%1$s\".
Connection timed out after %d ms
@@ -525,6 +529,7 @@
Failed to convert value %s into a Drawable
Failed to copy
Failed to create
+ Failed to enable the plugin
Failed to open the settings page
Failed to grant Shizuku access
Failed to instantiate \"%s\"
@@ -541,6 +546,7 @@
Failed to retrieve version.properties to parse version information
Failed to revoke Shizuku access
Failed to run script
+ Failed to save
Failed to save project config
File in path \"%1$s\" does not exist
UI thread cannot be blocked. Try running %s() in sub-thread or sub-script
@@ -601,6 +607,9 @@
Invalid pattern syntax
Plugin APK does not contain required assets for variant=\"%1$s\": %2$s.
Plugin APK does not contain required native libraries: %1$s.
+ Plugin \"%1$s\" is not authorized in Plugin Center
+ Plugin \"%1$s\" is not enabled in Plugin Center
+ Plugin \"%1$s\" not found in installed apps
%1$s plugin returned empty info.
%1$s plugin returned invalid variant: %2$s.
Port number over 65535
@@ -642,6 +651,7 @@
Unknown result type {name: %s, params: %s}
Unknown selector {name: %s, type: %s}
Unknown type: %s
+ Unsupported plugin connection
Format WebP-Lossless cannot be compressed with a quality parameter, use JPEG/PNG/WebP-Lossy instead
File does not exist or readable
File does not exist or readable: %s
@@ -658,6 +668,7 @@
Delay before loop
0 for infinite loop
IPv4, IPv6 and domain are supported.
+ Try clicking the \"Activate\" button to activate the plugin once.\nIf activation is successful, the button will automatically turn on within a certain period of time.
Enter a URL pointing to a remote plugin address.\nFor example \"https://example.com/plugin.apk\".
Delete permanently
Move to trash
@@ -704,6 +715,7 @@
Last install
Last uninstall
Last update
+ Mechanism
Package size
Updatable ver.
Are you sure to ignore current update version?\nYou can manage all ignored versions by app settings.
@@ -734,6 +746,7 @@
Add shortcuts to launcher
Start or stop recording controlled by \"Volume Down\" key when floating button is showing
Press \"Volume Up\" key to stop all running scripts
+ ": "
Internal Storage
Accessibility service
Required by the script automatic operation (click, long press, slide, etc.).
@@ -756,6 +769,7 @@
Scroll forward (scrollForward)
Set text (setText)
Action
+ Activated successfully
No APK installer
ADB tool is needed
Add a color library
@@ -815,8 +829,11 @@
App version code
App version name
Appearance
+ Applying binary resources
At least one field from [Full Name, Organization Name, Organizational Unit, Country Code, State or Province, City or Locality, Street] must be filled
Attribute
+ Authorize Plugin
+ This is a third-party plugin. Please pay attention to the plugin source and usage safety.\n\nClick the \"Authorize\" button to enable the plugin.
Auto check for updates
Check for updates automatically and show a snackbar on homepage
Auto night mode
@@ -825,8 +842,27 @@
Back
Action
Broadcast task
+ Build
Build APK
+ Build completed
+ Build profile
+ Default profile cannot be deleted
+ project.json profile cannot be deleted
+ Delete profile
+ Profile fields
+ Configure profile fields
+ Checked fields are saved as fixed values in this profile.
+ More profile actions
+ Cannot use reserved profile names (Default, project.json)
+ Build profile name
+ New profile
+ Current build configuration has unsaved changes.
+ Current build configuration has unsaved changes and will be written to project.json.
+ Save changes before continuing?
Build succeeded
+ Building APK
+ Building resources
+ Built APK file path
Cancel
Cancel
Default profile cannot be deleted
@@ -858,6 +894,9 @@
Choose restore path
City or Locality
Class / Package name
+ Clean
+ Clean completed
+ Cleaning workspace
Clear
Clear file selection
Clear pre-execute script
@@ -886,6 +925,8 @@
Compatibility
Confidence
Config
+ Configuring manifest
+ Configuring package name
Are you sure to clear all items?
Are you sure to clear the history?
The history below will be cleared\n\n[ %1$s ]\n\nAre you sure to clear?
@@ -901,6 +942,7 @@
Connection cannot be established
Connection failed
Console
+ Content
Continue
Copy
Copy all
@@ -915,8 +957,18 @@
Copy to clipboard
Copy value
Copying...
+ Copying asset
+ Copying assets to
+ Copying directory
+ Copying file
+ Copying libraries for ABI
+ Copying library
+ Copying native libraries
+ Copying project directory
+ Copying script file
Country Code (XX)
Country code must be two capital letters
+ Creating unsigned APK
Current page configuration
Current version
Daily task
@@ -999,10 +1051,12 @@
Enable accessibility service with secure settings timed out
Enable plugin
Enabled
+ Encrypting script
Error
Failed to copy file: %s
Bug report
Estimated
+ Exception info
Execute
Execute code
[%s] finished in %s seconds.\n
@@ -1015,6 +1069,11 @@
Exported
Extending JavaScript build-in objects
Extensibility
+ Extracted plugin assets
+ Extracted plugin libraries
+ Extracting plugin asset
+ Extracting plugin so
+ Extracting template APK
Failed
Failed to build
Failed to create signature key
@@ -1035,6 +1094,7 @@
Failed to register
Failed to submit
Failed to retrieve
+ Failed to save project.json
Failed to save remote project to local storage
Failed to send log entries
Failed to update
@@ -1085,6 +1145,7 @@
Hide button
Hide this node
Hide same frame nodes
+ Hint
History
The history has been cleared
Icon
@@ -1140,6 +1201,11 @@
Latest package
Launch config
Launch debugger
+ Show app icon in launcher
+ Show logs on launch
+ Run script on boot
+ Splash slug text
+ Show splash screen on launch
Launcher icon
Launcher shortcuts
Switching launcher icons on some devices may cause all existing AutoJs6 shortcuts to be lost, please proceed with caution
@@ -1255,9 +1321,9 @@
Allow the app to perform in-app purchases
Allow the app to access Bluetooth devices
Allow the app to configure Bluetooth devices
+ Allow the app to advertise via Bluetooth
Allow the app to access Bluetooth devices and connection state
Allow the app to scan for nearby Bluetooth devices
- Allow the app to advertise via Bluetooth
Allow the app to send an intent to close system dialogs
Allow the app to make phone calls
Allow the app to access the camera
@@ -1341,15 +1407,28 @@
Input name
Please wait...
Please wait a moment before trying again...
+ Activated
+ Activation recommended
+ Authorization denied
+ Authorization required
+ Authorized
Plugin center
Plugin details
+ Official
+ Trusted
Plugins
Pointer location
Toggle \"pointer location\" failed.\nRoot access is required.
Post notifications
To ensure that AutoJs6 foreground services, etc. can work properly and that scripts can post notifications, AutoJs6 must be granted the \"post notifications\" permission.
Pre-execute script
+ Prepare
+ Prepare completed
Preparing...
+ Preparing assets dir
+ Preparing build config
+ Preparing keystore
+ Preparing workspace
Preset dialog content
Preset dialog title
Press again to dismiss the dialog
@@ -1358,14 +1437,19 @@
Preview
Process log
Processing
+ Processing source
Project
Project location
Project media access
Prompt
+ %1$s:
%1$s: %2$s
%1$s: %2$d %3$s
%1$s: %2$d%3$s
+ Pruning
Quit
+ Re-signing APK
+ Reading splash resources
Recommended
Recording finished
Recording prompt
@@ -1391,6 +1475,7 @@
Replace
Replace all
Replace
+ Replacing file
Repository URL of VSCode extension
Submit succeeded
Requires Android OS version %s (API %s) but current is %s (API %s)
@@ -1399,6 +1484,7 @@
Reset succeeded
Reset initially
Reset is only for samples
+ Resolving plugin native libraries
Restart
Restart strategy
Restore
@@ -1440,6 +1526,7 @@
Save configuration as
Save
Save to
+ Saving...
Backend
Start delay
Screen capture permission request delay
@@ -1460,6 +1547,7 @@
Select file to upload
Select icon
Select an image
+ Selected plugin
Send
Create shortcut
Server mode
@@ -1476,6 +1564,9 @@
View in layout bounds
View in layout hierarchy
Show widget information
+ Sign
+ Sign completed
+ Sign stage completed
Signature Algorithm
Signature Configuration
Signature Scheme
@@ -1493,6 +1584,7 @@
Time (newest first)
Source
Source code path
+ Source processing completed
Special permissions
Stable mode
Star
@@ -1531,6 +1623,7 @@
Timed task
Timed task scheduling engine
Timing
+ Title
To be chosen
Toggle all
Tools
@@ -1555,6 +1648,7 @@
Unknown Description
Unknown Title
Unknown Version
+ Unsigned APK created
Unverified
Updatable
Update
@@ -1562,6 +1656,7 @@
Updates checked states cleared
Later
View
+ Updating project config
Usage stats access
Use Android 7.0 shortcut
Use default icon
@@ -1571,6 +1666,7 @@
Username cannot be empty
Use desc selector
Use id selector
+ Using keystore
Use text selector
Validity (Years)
Validity years cannot be empty
@@ -1602,86 +1698,12 @@
Working directory path
Write security settings
Write system settings
+ Writing app icon
+ Writing manifest
+ Writing project config
+ Writing resources.arsc
+ Writing signed APK
Display pop-up windows while running in the background
The settings has not been saved, are you sure to continue the operation?
The settings has not been saved, are you sure to exit?
- Failed to save
- Saving...
- ": "
- Failed to enable the plugin
- Exception info
- Hint
- Try clicking the \"Activate\" button to activate the plugin once.\nIf activation is successful, the button will automatically turn on within a certain period of time.
- Activate
- Activated successfully
- Authorize Plugin
- This is a third-party plugin. Please pay attention to the plugin source and usage safety.\n\nClick the \"Authorize\" button to enable the plugin.
- Authorize
- Official
- Authorized
- Authorization required
- Authorization denied
- Activation recommended
- Activated
- Trusted
- Mechanism
- Plugin \"%1$s\" is not enabled in Plugin Center
- Plugin \"%1$s\" is not authorized in Plugin Center
- Plugin \"%1$s\" not found in installed apps
- Unsupported plugin connection
- %1$s:
- Title
- Content
- Building APK
- Built APK file path
- Clean
- Sign
- Build
- Prepare
- Preparing workspace
- Extracting template APK
- Prepare completed
- Copying project directory
- Copying script file
- Source processing completed
- Copying directory
- Copying file
- Encrypting script
- Replacing file
- Preparing build config
- Reading splash resources
- Configuring manifest
- Configuring package name
- Copying assets to
- Processing source
- Applying binary resources
- Copying native libraries
- Updating project config
- Sign stage completed
- Writing project config
- Building resources
- Build completed
- Writing resources.arsc
- Writing manifest
- Writing app icon
- Copying asset
- Preparing assets dir
- Copying library
- Preparing keystore
- Unsigned APK created
- Creating unsigned APK
- Using keystore
- Re-signing APK
- Writing signed APK
- Sign completed
- Clean completed
- Cleaning workspace
- Resolving plugin native libraries
- Copying libraries for ABI
- Selected plugin
- Extracted plugin libraries
- Extracted plugin assets
- Extracting plugin asset
- Extracting plugin so
- Script recording requires at least one of the following conditions:\n- Root access\n- Shizuku access
\ No newline at end of file
diff --git a/app/src/main/res/xml-v25/inrt_app_shortcuts.xml b/app/src/main/res/xml-v25/inrt_app_shortcuts.xml
new file mode 100644
index 00000000..600290f4
--- /dev/null
+++ b/app/src/main/res/xml-v25/inrt_app_shortcuts.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/xml/fragment_preferences_inrt.xml b/app/src/main/res/xml/fragment_preferences_inrt.xml
index 22a413c3..6680c258 100644
--- a/app/src/main/res/xml/fragment_preferences_inrt.xml
+++ b/app/src/main/res/xml/fragment_preferences_inrt.xml
@@ -49,6 +49,12 @@
android:key="@string/key_use_volume_control_running"
android:title="@string/text_use_volume_key_to_control_script_running" />
+
+
-
\ No newline at end of file
+
diff --git a/version.properties b/version.properties
index e87f00d0..f0d2e882 100644
--- a/version.properties
+++ b/version.properties
@@ -1,5 +1,5 @@
-#Sun Mar 08 15:56:02 CST 2026
-BUILD_TIME=1772956562907
+#Thu Mar 12 21:00:26 CST 2026
+BUILD_TIME=1773320426437
COMPILE_SDK_VERSION=36
IMAGE_QUANT_CMAKE_VERSION=3.22.1
IMAGE_QUANT_NDK_VERSION=26.1.10909125
@@ -27,6 +27,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
TARGET_SDK_VERSION=36
TARGET_SDK_VERSION_INRT=29
-VERSION_BUILD=3782
+VERSION_BUILD=3803
VERSION_NAME=6.7.0 Alpha23
VSCODE_EXT_REQUIRED_VERSION=1.0.13