android程序root权限,android – 如何从源代码授予对特定应用程序的root访问权限而不是root权限?...

我正在从源代码编译Android ROM,我有一个应用程序,我希望它预先安装并让它以root权限运行.

如何在不支持整个ROM的情况下授予对此特定应用程序的root访问权限?

解决方法:

希望你不需要root …

典型的股票Android ROM为很少的东西提供root权限,与principle of least privilege一致.相反,应用程序被授予他们所需的精确权限.

为什么你需要这个应用程序拥有root权限?您应首先查看all the internal unpublished Android permissions列表,看看其中一个是否符合您的要求.由于您正在构建系统应用程序,因此您甚至可以使用其他应用程序通常无法使用的签名权限.您只需要确保您的应用程序是由构建Android ROM的密钥签名的 – 然后您可以使用ROM或单独分发它,它仍然可以访问您需要的权限.

这样做的好处是:

>如果您的应用程序遭到入侵或出错,则效果有限.

>您的实际Java代码具有这些权限,因此无需制作繁琐的命令行.

所以如果你可以用这种方式完成你的任务,那就行了.

但如果你真的这样做……

如果你确实需要root,那么事情会变得棘手.

你有三个选择.按优先顺序排列:

>添加新的系统服务.

>添加一些替代的setuid-root二进制文件,它可以满足您的需要.

>修改su二进制文件以确切地检查是谁调用它.

如果你确实需要root,那么我会add a new system service.这可以以root身份运行.然后,您将添加适当的额外API,以便您的应用可以调用它 – 并且权限可以是签名级别,以便只有您的系统应用程序才能调用它.这是在Android-land中进行这种架构的“正确”方式.

第二个或第三个选项涉及创建一些命令行工具,它可以执行您想要的操作,但我不知道这种工具检查谁调用它的安全方法.允许任何应用程序调用此功能可能是可以接受的.如果是这样,可能是一个新的setuid-root可执行文件.但是,正如我所说,我不知道如何阻止运行它的其他应用程序.

标签:android,root

来源: https://codeday.me/bug/20191004/1852216.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 弹出网格菜单,在android中的recyclerView中显示弹出按钮的确...

as per my above comment可以使用Popup MenuAndroid Popup Menu displays the menu below the anchor text if space is available otherwise above the anchor text. It disappears if you click outside the popup menu.试试这个创建菜单文件文件:poupup_menu.xml…

人工智能选go还是python_深圳人工智能学Python还是go,真实经历分享

深圳人工智能学Python还是go,进行选择深圳Python培训 的时候,第一要思考的就是该机构的口碑如何。如果该家机构没有一定的口碑信誉,就等于搬起石头砸了自己的招牌。为什么突然就那么火了,Python的工资待遇,人工智能&am…

python做excel数据分析统计服_Python也能做到Excel那样,条件统计轻松解决工作需求...

此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd 转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的) 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦…

android 系统倒计时显示时间,Android 依据系统时间整点、半点倒计时

activity_main.xml中的代码xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:background"android:color/white">android:id"id/myt…

java贪吃蛇_如何用Java还原童年回忆?在线教你完成贪吃蛇小游戏

今天我就从零开始来完成这个小游戏,完成的方式也是一步一步的添加功能这样的方式来实现。额,不好意思,放错了,重来第一步完成的功能:写一个界面大家见到的贪吃蛇小游戏,界面肯定是少不了的。因此&#xff0…

android+建模工具,什么是适用于Android Studio的3D模型环境的最佳工具

首先,你已经链接的页面没有引用文字。它代替了this文本。 现在,关于文本本身:你正在脱离情境和/或误解它。这是一个完整的引文:The Android framework provides plenty ofstandard tools for creating attractive, functionalgrap…

python编写统计选票的程序_使用python编写微信公众号发稿统计程序

近日为学校公众号统计发稿情况,需统计本年度各部门分别所发稿件标题、时间、作者等。 首先考虑查看公众号后台有无统计功能,看到的界面如下: 每页只显示7天的消息,且没有部门作者信息。再看另一界面: 只统计总体的发稿…

android 刷windows10,微软计划在Android机上刷Windows 10

据外媒TechCrunch报道,目前微软正努力采取措施让Android设备运行Windows 10系统来提升自己的市场份额。目前,微软在公布Windows 10的发展战略时开始尝试与新的手机厂商合作,而这些厂商之前都至推出过Android系统手机。微软计划在Android机上刷…

jtextpane设置不能选中_在Bridge cc中不能使用camera raw 的编辑功能,解决方法

有时我们在Bridge cc中想对raw文件进行处理,这时需要启动camera raw功能,可是当我们启用时却显示不能编辑,下面说下如何启动使用camera raw 的编辑功能1.打开一张raw格式文件,在文件菜单或者右键选择在camera raw中打开&#xff0…

android icon命名规则,安卓手机的APP图标尺寸规范和图标命名规范

安卓手机的APP图标尺寸规范和图标命名规范点击查看原文android图标包括:程序启动图标、底部菜单图标、弹出对话框顶部图标、长列表内部列表项图标、底部和底部tab标签图标。1、安卓程序启动图标尺寸:ldpi(120dpi)小屏幕mdpi(160dpi)中屏幕hdpi(240dpi)大…

python俄罗斯方块课程设计报告_用python实现俄罗斯方块

!/usr/bin/python -- conding:utf-8 -- from tkinter import * import time import threading import random import math from tkinter import messagebox 变量定义 BIANCHANG 19 COLOR [red, orange, yellow, green, blue, purple, #00C5CD, #00EE76, #388E8E, #556B2F, #6…

intent android 匿名,Android 匿名启动activity 启动系统activity

一般我们使用Intent 进行activity跳转时我们都知道需要跳转的activity的名字,例如:Intent intentnew Intent(FirstActivity.this,SecondActitivy.class);startActivity(intent);当SecondActitivy.class和FirstActivity不再同一个App的时候,我们就需要用到匿名启动&a…

opencv python教程简书_Python-OpenCV —— 基本操作一网打尽

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、MacOS操作系统上。它轻量级而且高效——由一系列 C 函数和少量C类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处…

android listview 数据同步,android中ListView数据刷新时的同步方法

本文实例讲述了android中ListView数据刷新时的同步方法。分享给大家供大家参考。具体实现方法如下:public class Main extends BaseActivity {private static final String TAG "tag";private static final int STATUS_CHANGE 0;ExpandableListView mEl…

python __reduce__魔法方法_Python魔法方法指南

(译)Python魔法方法指南 简介 本指南归纳于我的几个月的博客,主题是 魔法方法 。 什么是魔法方法呢?它们在面向对象的Python的处处皆是。它们是一些可以让你对类添加“魔法”的特殊方法。 它们经常是两个下划线包围来命名的(比如 __init__ &a…

opengles 顶点数组 android,OpenGLES顶点属性、顶点数组和缓冲区对象

顶点属性数据可以用一个顶点数组对每个顶点指定,也可以将一个常量值用于一个图元的所有顶点OpenGLES支持最少16个顶点属性。准确查询顶点数量方法如下:GLint maxVertexAttribs;glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs);一、指定顶点…

java 实体类 临时注解_JPA:Java持久层API--配置流程

一、JPA概述1.1 JPA是什么JPA (Java Persistence API) Java持久化API。是一套Sun公司 Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没有实现 关注点: ORM ,标准 概念 (关键字&#xf…

android新架构,Android新架构组件 LifeCycles 简介

一、前言为了使开发者能尽快在 Android 平台上开发出高质量的项目,Android 官方推出了 Android Jetpack 项目,旨在从基础,架构,行为以及界面 4 大方面体系化地为我们提供组件级别的支持。当然,在实际开发过程中&#x…

领域驱动设计 pdf_什么是领域驱动设计?

什么是领域驱动设计?你可能使用领域驱动设计(DDD)开发了一些项目。你可能很满意, 使用领域模型来开发领域业务。并且得意地展示给你的同事看,他们会说“666”。但有的时候你使用领域模型你总觉得哪儿有点不对劲。你会嘀咕你可能遗漏了什么。 …

Android四级缓存,RecyclerView 源码四级缓存原理

入口我们从使用功能上去读取源码,通常的用法是这个样子-> 我们设置layoutmanager,GridLayouManager 继承LinearLayoutManager,所以我们就LinearLayoutManager 为基准查看rv.layoutManager GridLayoutManager(this,5)rv.addItemDecoration…