6.6.3 - Alpha5 - 脚本项目配置 permissions 选项支持宽松匹配及别名兼容
This commit is contained in:
@@ -39,13 +39,14 @@
|
|||||||
"improvement": [
|
"improvement": [
|
||||||
"布局分析支持控件隐藏 (by [TonyJiangWJ](https://github.com/TonyJiangWJ)) _[`pr #371`](http://pr.autojs6.com/371)_ _[`issue #355`](http://issues.autojs6.com/355)_",
|
"布局分析支持控件隐藏 (by [TonyJiangWJ](https://github.com/TonyJiangWJ)) _[`pr #371`](http://pr.autojs6.com/371)_ _[`issue #355`](http://issues.autojs6.com/355)_",
|
||||||
"布局分析菜单添加渐变分隔线实现一定程度的功能分组",
|
"布局分析菜单添加渐变分隔线实现一定程度的功能分组",
|
||||||
|
"脚本项目配置文件 project.json 支持 permissions 选项 (by [wirsnow](https://github.com/wirsnow)) _[`pr #391`](http://pr.autojs6.com/391)_ _[`issue #362`](http://issues.autojs6.com/362)_",
|
||||||
|
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",
|
||||||
"主题色扩充适配范围并支持更多控件类型",
|
"主题色扩充适配范围并支持更多控件类型",
|
||||||
"主页抽屉在横向屏幕或超宽屏幕的宽度适应性",
|
"主页抽屉在横向屏幕或超宽屏幕的宽度适应性",
|
||||||
"关于应用与开发者页面增加水平布局及小屏布局适配",
|
"关于应用与开发者页面增加水平布局及小屏布局适配",
|
||||||
"设置页面对话框相关设置支持 \"使用默认值\" 菜单选项",
|
"设置页面对话框相关设置支持 \"使用默认值\" 菜单选项",
|
||||||
"文件管理器浮动按钮展开后点击其他区域可自动隐藏",
|
"文件管理器浮动按钮展开后点击其他区域可自动隐藏",
|
||||||
"代码编辑器格式化代码支持 `??`, `?.`, `??=` 等运算符",
|
"代码编辑器格式化代码支持 `??`, `?.`, `??=` 等运算符",
|
||||||
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",
|
|
||||||
"意图相关操作 (编辑/查看/安装/发送/播放等) 增加操作异常提示",
|
"意图相关操作 (编辑/查看/安装/发送/播放等) 增加操作异常提示",
|
||||||
"webview 元素的 url 属性支持相对路径",
|
"webview 元素的 url 属性支持相对路径",
|
||||||
"ImageWrapper#saveTo 方法的路径参数支持相对路径",
|
"ImageWrapper#saveTo 方法的路径参数支持相对路径",
|
||||||
|
|||||||
@@ -72,7 +72,9 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
@@ -126,6 +128,11 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
|||||||
add(new Pair<>("V3", "Android 9.0+"));
|
add(new Pair<>("V3", "Android 9.0+"));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
private final Map<String, String> PERMISSION_ALIAS = new HashMap<>() {{
|
||||||
|
put("shizuku", "moe.shizuku.manager.permission.API_V23");
|
||||||
|
put("termux", "com.termux.permission.RUN_COMMAND");
|
||||||
|
}};
|
||||||
|
|
||||||
private final Map<String, Integer> SUPPORTED_PERMISSIONS = new TreeMap<>() {{
|
private final Map<String, Integer> SUPPORTED_PERMISSIONS = new TreeMap<>() {{
|
||||||
put("android.permission.ACCESS_COARSE_LOCATION", R.string.text_permission_desc_access_coarse_location);
|
put("android.permission.ACCESS_COARSE_LOCATION", R.string.text_permission_desc_access_coarse_location);
|
||||||
put("android.permission.ACCESS_FINE_LOCATION", R.string.text_permission_desc_access_fine_location);
|
put("android.permission.ACCESS_FINE_LOCATION", R.string.text_permission_desc_access_fine_location);
|
||||||
@@ -193,8 +200,8 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
|||||||
put("com.android.launcher.permission.INSTALL_SHORTCUT", R.string.text_permission_desc_install_shortcut);
|
put("com.android.launcher.permission.INSTALL_SHORTCUT", R.string.text_permission_desc_install_shortcut);
|
||||||
put("com.android.launcher.permission.UNINSTALL_SHORTCUT", R.string.text_permission_desc_uninstall_shortcut);
|
put("com.android.launcher.permission.UNINSTALL_SHORTCUT", R.string.text_permission_desc_uninstall_shortcut);
|
||||||
put("com.android.vending.BILLING", R.string.text_permission_desc_billing);
|
put("com.android.vending.BILLING", R.string.text_permission_desc_billing);
|
||||||
put("com.termux.permission.RUN_COMMAND", R.string.text_permission_desc_termux_run_command);
|
put(PERMISSION_ALIAS.get("termux"), R.string.text_permission_desc_termux_run_command);
|
||||||
put("moe.shizuku.manager.permission.API_V23", R.string.text_permission_desc_shizuku);
|
put(PERMISSION_ALIAS.get("shizuku"), R.string.text_permission_desc_shizuku);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
EditText mSourcePathView;
|
EditText mSourcePathView;
|
||||||
@@ -547,7 +554,21 @@ public class BuildActivity extends BaseActivity implements ApkBuilder.ProgressCa
|
|||||||
int marginInPixels = (int) (8 * getResources().getDisplayMetrics().density);
|
int marginInPixels = (int) (8 * getResources().getDisplayMetrics().density);
|
||||||
checkBox.setPadding(marginInPixels, 0, 0, 0);
|
checkBox.setPadding(marginInPixels, 0, 0, 0);
|
||||||
if (mProjectConfig != null) {
|
if (mProjectConfig != null) {
|
||||||
boolean checked = mProjectConfig.getPermissions().stream().anyMatch(p -> ("android.permission." + p.toUpperCase()).equals(permission));
|
boolean checked = mProjectConfig.getPermissions().stream().anyMatch(p -> {
|
||||||
|
var lc = p.toLowerCase(Locale.ROOT);
|
||||||
|
var uc = p.toUpperCase(Locale.ROOT);
|
||||||
|
if (p.equalsIgnoreCase(permission)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (permission.contains("android")) {
|
||||||
|
String refined = uc.substring(uc.lastIndexOf(".") + 1).replaceAll("\\W", "_");
|
||||||
|
return Objects.equals(refined, permission.substring(permission.lastIndexOf(".") + 1));
|
||||||
|
}
|
||||||
|
if (PERMISSION_ALIAS.containsKey(lc)) {
|
||||||
|
return Objects.equals(permission, PERMISSION_ALIAS.get(lc));
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
checkBox.setChecked(checked);
|
checkBox.setChecked(checked);
|
||||||
} else {
|
} else {
|
||||||
checkBox.setChecked(false);
|
checkBox.setChecked(false);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#Sun May 25 20:32:48 CST 2025
|
#Sun May 25 23:31:03 CST 2025
|
||||||
BUILD_TIME=1748176368036
|
BUILD_TIME=1748187063682
|
||||||
COMPILE_SDK_VERSION=35
|
COMPILE_SDK_VERSION=35
|
||||||
IMAGE_QUANT_CMAKE_VERSION=3.22.1
|
IMAGE_QUANT_CMAKE_VERSION=3.22.1
|
||||||
IMAGE_QUANT_NDK_VERSION=26.1.10909125
|
IMAGE_QUANT_NDK_VERSION=26.1.10909125
|
||||||
@@ -19,6 +19,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13
|
|||||||
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
|
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
|
||||||
TARGET_SDK_VERSION=35
|
TARGET_SDK_VERSION=35
|
||||||
TARGET_SDK_VERSION_INRT=29
|
TARGET_SDK_VERSION_INRT=29
|
||||||
VERSION_BUILD=3254
|
VERSION_BUILD=3255
|
||||||
VERSION_NAME=6.6.3 Alpha5
|
VERSION_NAME=6.6.3 Alpha5
|
||||||
VSCODE_EXT_REQUIRED_VERSION=1.0.8
|
VSCODE_EXT_REQUIRED_VERSION=1.0.8
|
||||||
|
|||||||
Reference in New Issue
Block a user