当前位置:首页 » 操作系统 » android权限源码

android权限源码

发布时间: 2022-08-08 04:40:13

㈠ 在android源码编译apk能有root权限吗

编译apk和root权限没有联系,apk是应用程序,root权限是android系统里的设置,android系统不给root权限,在源码下编译apk也是无用的

㈡ 如何在android源码中给system/etc目录添加文件并修改其权限

需要root权限。
然后Runtime.exec() 调用linux命令。

不过这不是最麻烦的。最麻烦的是,卸载软件之后。如何恢复原来的
system/etc目录中的权限之类的。

㈢ android 源码动态权限能跳过吗

加在AndroidManifest.xml 文件中manifest标签之后以内,application以外

㈣ android怎么在代码里获得系统文件的读写权限

本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的。
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点中加入
android:sharedUserId="android.uid.system"这个属性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。
第二个办法麻烦点,不过不用开虚拟机跑到源码环境下用make来编译:
1. 同上,加入android:sharedUserId="android.uid.system"这个属性。
2. 使用eclipse编译出apk文件,但是这个apk文件是不能用的。
3. 用压缩软件打开apk文件,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。
4. 使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,
首先找到密钥文件,在我的Android源码目录中的位置
是"build argetproctsecurity",下面的platform.pk8和platform.x509.pem
两个文件。
然后用Android提供的Signapk工具来签名,signapk的源代码是
在"build oolssignapk"下,
用法为"signapk platform.x509.pem platform.pk8 input.apk output.apk",
文件名最好使用绝对路径防止找不到,也可以修改源代码直接使用。
这样最后得到的apk和第一个方法是一样的。
最后解释一下原理,首先加入android:sharedUserId="android.uid.system"这个属性。通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,这样就有权限来修改系统时间了。
只是加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform
key,就是上面第二个方法提到的platform.pk8和platform.x509.pem两个文件。用这两个key签名后apk才真正可以放入系统进程中。第一个方法中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。这也有一个问题,就是这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到 platform.pk8和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原始的Android 中的key来签名,程序在模拟器上运行OK,不过放到G3上安装直接提示"Package ... has no signatures that match those in shared user android.uid.system",这样也是保护了系统的安全。

㈤ 请问谁能给我一个实现android手机权限控制的简单程序代码,谢谢您了

添加权限是在编译生成APK包前,也就是在源代码里添加权限。
找到源代码工程里的AndroidManifest.xml文件打开。
把<uses-permission android:name="android.permission.WAKE_LOCK"/>加入去,如图

㈥ Android aosp源码编译后root权限问题

ROOT获得最高权限是删除这些应用的唯一途径
实际手动操作的流程非常复杂,并且有版本限制
我推荐你款不错的手机ROOT工具吧,
我一直都是在用的,很不错
使用应用宝获取手机root权限在工具
选项里找到一键ROOT即可或者KINGROOT也行。

㈦ 求:安卓可以控制手机的源代码(所有权限)

root啊 你不知道自己的手机型号么 Android系统中的root
什么是root
root就是手机的神经中枢,它可以访问和修改你手机几乎所有的文件,这些东西可能是制作手机的公司不愿意你修改和触碰的东西,因为他们有可能影响到手机的稳定,还容易被一些黑客入侵(Root是Linux等类UNIX系统中的超级管理员用户帐户。更多介绍详见第一段)
为什么要获取root
其实用root的权限主要是因为我们很多东西是受限制的,我们只能利用这些权限来做我们被限制的去做的事情,比如Google禁止我们看到市场里很多免费或付费软件,我们可以用Market进去看;很多朋友只能看不能下,不能绑定gmail,我们可以修改host来搞定他们,但这些都需要root权限(由于Root权限对于系统具有最高的统治权,便可方便的对于系统的部件进行删除或更改。对于玩家而言,只有获得Root权限,我们便可随心所欲地对自己的爱机进行“重新包装”,感受新版本软件的优点) 例如:当HTC Hero手机通过USB线连上电脑时,sync工具就会自动启动,总是在notification那里看到。对于Windows用户,还有工具可以同步,对于Mac/Linux用户来说,没用。有没有办法解决呢?当然有了! 这里的关键就是ad remount,这是一个重新mount你的分区的命令,让你的system分区从只读变成可读可写,只有获得了root权限才可能运行。
取得root的好处
1 可以备份系统 2 使用高级的程序 3 修改系统的程序 4 把程序安装在SD卡上 其它好处 一 最重要的是 我们可以汉化 拥有ROOT权限[1],我们可以加载汉化包,实现系统汉化!由于目前的系统固件版本firware都是1.0,所以都不支持简体中文输入,但是支持简体中文显示开发团队对此展开了工作,现在的Zhao 1.5/1.6 都是以获得ROOT权限为基础才可进行的汉化包。 二 我们可以通过ABUS查看已安装的软件 虽然没有ROOT权限,我们依然可以通过ABUS来安装软件和游戏,但是如果拥有ROOT权限的G1,我们可以通过ABUS查看其安装过的软件列表 方便我们管理。 三 我们可以更改主题 目前阶段,我们可以通过升级update.zip来实现更换主题的功能,当然update.zip包并不是一个单独的主题文件,其实就是升级一下, 不过如果没有ROOT权限,我们就不能实现更换主题的功能,至少目前这样 四 我们可以正常使用一些软件 比如Screenshot 很多软件是需要访问并读写内部ROOT的,比如Screenshot,就必须有ROOT权限才可正常使用,如果相应的,我们获得了ROOT权限,那么有些软件就可以正常使用,并能发挥其特性了。
编辑本段一键root的方法
root并没有想象中的那么难,目前有不少软件可以做到。像Z4root、UniversalAndRoot、GingerBreak和等root 软件都比较方便。 下面就简单介绍其中的两款。 ①superoneclick[2] 该软件root成功率较高,并且支持当前所有安卓系统的版本(包括android 4.0),几乎没有机型限制!目前最新版本为v2.3.3.0。并且该软件还能帮你卸载安卓市场,对于root过程有辅助作用(如果需要可到安卓软件资源网站下载安装);而且,该软件支持反root,当你发现系统root后不稳定或不安全,可以解除root,从而保护手机

㈧ 修改android哪一小部分源代码,实现整机root

获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了。

复制代码代码如下:

// 获取ROOT权限
public void get_root(){

if (is_root()){
Toast.makeText(mCtx, "已经具有ROOT权限!", Toast.LENGTH_LONG).show();
}
else{
try{
progress_dialog = ProgressDialog.show(mCtx,
"ROOT", "正在获取ROOT权限...", true, false);
Runtime.getRuntime().exec("su");
}
catch (Exception e){
Toast.makeText(mCtx, "获取ROOT权限时出错!", Toast.LENGTH_LONG).show();
}
}

}

其中is_root()判断是否已经具有了ROOT权限。只要/system/bin/su、/system/xbin/su这两个文件中有一个存在,就表明已经具有ROOT权限,如果两个都不存在,则不具有ROOT权限。

复制代码代码如下:

// 判断是否具有ROOT权限
public static boolean is_root(){

boolean res = false;

try{
if ((!new File("/system/bin/su").exists()) &&
(!new File("/system/xbin/su").exists())){
res = false;
}
else {
res = true;
};
}
catch (Exception e) {

}
return res;

热点内容
adbandroid版本 发布:2025-01-16 13:53:14 浏览:387
直链云存储 发布:2025-01-16 13:19:30 浏览:726
电脑主机服务器多少钱 发布:2025-01-16 13:00:28 浏览:667
linuxoracle操作 发布:2025-01-16 12:40:50 浏览:47
河北存储服务价格 发布:2025-01-16 12:39:21 浏览:351
挂机服务器的搭建 发布:2025-01-16 12:34:07 浏览:417
安卓怎么删除信任凭证 发布:2025-01-16 12:22:06 浏览:338
代理编译 发布:2025-01-16 12:07:59 浏览:794
服务器为什么老是无响应 发布:2025-01-16 12:07:59 浏览:894
安卓怎么传软件到苹果 发布:2025-01-16 12:01:28 浏览:959