本帖最后由 yoling100 于 2021-10-9 21:01 编辑
三星Galaxy S8 GM-9500手机,
Android 9.0版本
不root的情况下,如何默认开启USB调试且自动授权,
小白只完成了通电自启懂的都知道是干啥的,就不要问了,刚入坑,迷茫中...
附上官方固件,求大神解答,或者有固件能施舍一份也好,要是改源码咱就没法办到了,毕竟只是个小白,配置环境都会头晕,求高手帮忙改下
[color=rgba(0, 0, 0, 0.85)]阿里云盘链接:https://www.aliyundrive.com/s/rC7oEfRNtEv
找到一个案例
Android9.0系统源码修改默认授予动态权限(去掉授权窗口)
[Asm] 纯文本查看 复制代码 a/vendor/mediatek/proprietary/packages/apps/PackageInstaller/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
+++ b/vendor/mediatek/proprietary/packages/apps/PackageInstaller/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
@@ -249,14 +249,14 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
}
// /@}
}
-
+/*
setContentView(mViewHandler.createView());
Window window = getWindow();
WindowManager.LayoutParams layoutParams = window.getAttributes();
mViewHandler.updateWindowAttributes(layoutParams);
window.setAttributes(layoutParams);
-
+*/
if (!showNextPermissionGroupGrantRequest()) {
setResultAndFinish();
} else if (icicle == null) {
@@ -460,7 +460,6 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
@Override
public void onPermissionGrantResult(String name, boolean granted, boolean doNotAskAgain) {
KeyguardManager kgm = getSystemService(KeyguardManager.class);
-
if (kgm.isDeviceLocked()) {
kgm.requestDismissKeyguard(this, new KeyguardManager.KeyguardDismissCallback() {
@Override
@@ -756,14 +755,21 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
resources = Resources.getSystem();
}
int icon = permState.getAppPermissionGroup().getIconResId();
-
+/*
mViewHandler.updateUi(permState.getPermission().getName(),
permCount, currentIndex,
Icon.createWithResource(resources, icon),
message,
permState.getPermission().isUserSet());
+*/
+ if (permState.getPermission().getName() != null) {
+ Log.d(LOG_TAG, "requestedPermission permState.getPermission().getName() = " + permState.getPermission().getName());
+ try {
+ onPermissionGrantResult(permState.getPermission().getName(), true, false);
+ } catch (Exception e){}
+ }
return true;
- }
+ }
currentIndex++;
}
return false;
案例二
需要修改的方法名称:grantPermissions //这里grant是同意或授予的意思
这个grantPermissions方法有参数:PackageParser.Package pkg,
通过pkg可以获取到包名,当前app需要申请的所有权限等等信息。
[Asm] 纯文本查看 复制代码 // IMPORTANT: There are two types of permissions: install and runtime.(系统权限分为普通install权限和危险runtime权限)
final int N = pkg.requestedPermissions.size();//获取AndroidManifest中请求的权限个数
for (int i = 0; i < N; i++) { //分别对里面的每个权限进行遍历,判断
*********************
int grant = GRANT_DENIED; //默认权限值为拒绝
if (bp.isNormal()) {
此处可以判断应用是不是在白名单内
grant = GRANT_INSTALL; //权限值为普通权限,会默认通过
} else if (bp.isRuntime()) { //当权限为危险权限
//grant = GRANT_DENIED;//系统中默认设置为危险权限
此处可以判断应用是不是在白名单内
grant = GRANT_INSTALL; //设置权限值为普通权限,会默认通过
}
修改系统源码后,进行编译,烧录,启动的系统中,
请求危险权限就不会弹出对话框确认,直接可以获取到权限了切记 此方法需要AndroidManifest.xml 中添加权限.
|