小米系统没有xbin小米是不是安卓系统bin

为什么我的小米系统更新不了啊_小米吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
为什么我的小米系统更新不了啊收藏
老出现下面这个 当前系统复制到好友成功  验证当前系统……  未能统计“/ dev /好友/系统/应用程序/ MiuiVideo。apk”:没有这样的文件或目录  未能统计“/ dev /好友/系统/应用程序/ MiuiVideo。odex”:没有这样的文件或目录  未能统计“/ dev /好友/系统/应用程序/ MiuiVideoPlayer。apk”:没有这样的文件或目录  未能统计“/ dev /好友/系统/应用程序/ MiuiVideoPlayer。odex”:没有这样的文件或目录  未能统计“/ dev /好友/系统/应用程序/ VoiceAssist。apk”:没有这样的文件或目录  文件“/ dev /好友/系统/ xbin /苏”没有任何预期的sha1资金;检查缓存  未能统计”/数据/保存。文件”:没有这样的文件或目录  未能加载缓存文件  脚本流产:断言失败:apply_patch_check(“/系统/ xbin /苏”、“282 f1da6e6bd65acecf9da48c9560a76”、“e4f8adbcdfcbb56f6c051de48eb1d”)  断言失败:apply_patch_check(“/系统/ xbin /苏”、“282 f1da6e6bd65acecf9da48c9560a76”、“e4f8adbcdfcbb56f6c051de48eb1d”)
~\(≥皿≤)/~
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
由于项目需要root安装软件,并且希望在合适的时候引导用户去开启root安装,故需要检测手机是否root。
最基本的判断如下,直接运行一个底层命令。(参考)
也可参考csdn
* check whether has root permission
public static boolean checkRootPermission() {
return execCommand(&echo root&, true, false).result == 0;
* execute shell commands
* @param commands
command array
* @param isRoot
whether need to run with root
* @param isNeedResultMsg
whether need result msg
* @return &ul&
&li&if isNeedResultMsg is false, {@link CommandResult#successMsg}
is null and {@link CommandResult#errorMsg} is null.&/li&
&li&if {@link CommandResult#result} is -1, there maybe some
excepiton.&/li&
public static CommandResult execCommand(String[] commands, boolean isRoot,
boolean isNeedResultMsg) {
int result = -1;
if (commands == null || commands.length == 0) {
return new CommandResult(result, null, null);
Process process =
BufferedReader successResult =
BufferedReader errorResult =
StringBuilder successMsg =
StringBuilder errorMsg =
DataOutputStream os =
process = Runtime.getRuntime().exec(
isRoot ? COMMAND_SU : COMMAND_SH);
os = new DataOutputStream(process.getOutputStream());
for (String command : commands) {
if (command == null) {
// donnot use os.writeBytes(commmand), avoid chinese charset
os.write(command.getBytes());
os.writeBytes(COMMAND_LINE_END);
os.flush();
os.writeBytes(COMMAND_EXIT);
os.flush();
result = process.waitFor();
// get command result
if (isNeedResultMsg) {
successMsg = new StringBuilder();
errorMsg = new StringBuilder();
successResult = new BufferedReader(new InputStreamReader(
process.getInputStream()));
errorResult = new BufferedReader(new InputStreamReader(
process.getErrorStream()));
while ((s = successResult.readLine()) != null) {
successMsg.append(s);
while ((s = errorResult.readLine()) != null) {
errorMsg.append(s);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
if (successResult != null) {
successResult.close();
if (errorResult != null) {
errorResult.close();
} catch (IOException e) {
e.printStackTrace();
if (process != null) {
process.destroy();
return new CommandResult(result, successMsg == null ? null
: successMsg.toString(), errorMsg == null ? null
: errorMsg.toString()); 102
* result of command, 106
* &ul& 107
* &li&{@link CommandResult#result} means result of command, 0 means normal, 108
* else means error, same to excute in linux shell&/li& 109
* &li&{@link CommandResult#successMsg} means success message of command 110
* result&/li& 111
* &li&{@link CommandResult#errorMsg} means error message of command result&/li& 112
* &/ul& 113
* @author Trinea
public static class CommandResult { 117
/** result of command **/
/** success message of command result **/
public String successM 122
/** error message of command result **/
public String errorM 124
public CommandResult(int result) { 126
this.result = 127
public CommandResult(int result, String successMsg, String errorMsg) { 130
this.result = 131
this.successMsg = successM 132
this.errorMsg = errorM 133
* execute shell command, default return result msg 136
* @param command 138
command 139
* @param isRoot 140
whether need to run with root 141
* @see ShellUtils#execCommand(String[], boolean, boolean) 143
public static CommandResult execCommand(String command, boolean isRoot) { 145
return execCommand(new String[] { command }, isRoot, true); 146
但是这会带来一个问题,每次判断是否root都会弹出一个root请求框。这是十分不友好的一种交互方式,而且,用户如果选择取消,有部分手机是判断为非root的。
这是方法一。交互不友好,而且有误判。
在这个情况下,为了不弹出确认框,考虑到一般root手机都会有一些的特殊文件夹,比如/system/bin/su,/system/xbin/su,里面存放有相关的权限控制文件。
因此只要手机中有一个文件夹存在就判断这个手机root了。
然后经过测试,这种方法在大部分手机都可行。
代码如下:
/** 判断是否具有ROOT权限 ,此方法对有些手机无效,比如小米系列 */
public static boolean isRoot() {
boolean res =
if ((!new File(&/system/bin/su&).exists())
&& (!new File(&/system/xbin/su&).exists())) {
} else { 11
} catch (Exception e) { 15
这是方法二。交互友好,但是有误判。
后来测试的过程中发现部分国产,比如小米系列,有这个文件夹,但是系统是未root的,判断成了已root。经过分析,这是由于小米有自身的权限控制系统而导致。
考虑到小米手机有大量的用户群,这个问题必须解决,所以不得不寻找第三种方案。
从原理着手,小米手机无论是否root,应该都是具有相关文件的。但是无效的原因应该是,文件设置了相关的权限。导致用户组无法执行相关文件。
从这个角度看,就可以从判断文件的权限入手。
先看下linux的文件权限吧。
linux文件权限详细可参考《鸟叔的linux私房菜》
只需要在第二种方法的基础上,再另外判断文件拥有者对这个文件是否具有可执行权限(第4个字符的状态),就基本可以确定手机是否root了。
在已root手机上(三星i9100 android 4.4),文件权限(x或者s,s权限,可参考)如下
未root手机,大部分手机没有这两个文件夹,小米手机有这个文件夹。未root小米手机权限如下(由于手头暂时没有小米手机,过几天补上,或者有同学帮忙补上,那真是感激不尽)。
【等待补充图片】
代码如下:
/** 判断手机是否root,不弹出root请求框&br/& */
public static boolean isRoot() {
String binPath = &/system/bin/su&;
String xBinPath = &/system/xbin/su&;
if (new File(binPath).exists() && isExecutable(binPath))
if (new File(xBinPath).exists() && isExecutable(xBinPath))
private static boolean isExecutable(String filePath) { 13
Process p = 14
p = Runtime.getRuntime().exec(&ls -l & + filePath); 16
// 获取返回内容
BufferedReader in = new BufferedReader(new InputStreamReader( 18
p.getInputStream())); 19
String str = in.readLine(); 20
Log.i(TAG, str); 21
if (str != null && str.length() &= 4) { 22
char flag = str.charAt(3); 23
if (flag == 's' || flag == 'x') 24
} catch (IOException e) { 27
e.printStackTrace(); 28
}finally{ 29
if(p!=null){ 30
p.destroy(); 31
这种方法基本可以判断所有的手机,而且不弹出root请求框。这才是我们需要的,perfect。
方法三,交互友好,基本没有误判。
以下是apk以及相关源代码,大家可以下载apk看下运行效果
ROOT检测APK下载地址:
ROOT检测代码下载:或者
如果有手机使用方法三无法判断,欢迎提出。
也欢迎大家提出其他的更好的办法。
& 相关主题:经验8897 米
在线时间357 小时
&div style='color:#fff'&
积分 10201, 距离下一级还需 9799 积分
积分 10201, 距离下一级还需 9799 积分
机型小米手机4
签到次数90
MIUI版本5.9.2
本帖最后由 浅浅De唱歌 于
17:41 编辑
Android 通常有以下分区:System分区: 就是我们刷ROM的分区Data分区:& &分区就是我们装APK的分区Catch分区:是缓存分区SDCard分区:就是挂载的SD卡。
我们可以在adb中使用df 来查看分区情况。
<font color="#、跨分区不能用 MV命令来拷贝。但是可以用CP命令。如PWD,当前目录为:/data/local/tmp 。此目录下有个busybox和1.txt文件。则利用CP命令拷贝如下:./busybox cp1.txt /system.
<font color="#、Android的用户组有 System, root, shell
<font color="#、怎么样才能操作分区呢?& && &分区操作是需要权限的。一般来说System分区的权限限制得比较严,Data分区限制比较严,用户可以操作的目录有local,app目录。比如/data/local/tmp.
& && &data分区常用目录:app , system , data ,local,misc 其中system,local可以进入并使用ls等命令。data,app可以进入,但不能用ls命令。& && &data/data目录:存放的是所有APK程序数据的目录,每个APK对就一个自己的Data目录,就是在data/data/目录下,会产生一个跟Package一样的目录。如有一个APK,它的包名叫com.test.hello则,在data/data/目录下会有一个com.test.hello的目录,这个APK只能操作此目录,不能操作其它APK的目录.这个在LINUX下叫做用户进程只能操作自己的进程目录.& && &data/app目录:用户安装的APK放在这里。我们如果把APK放入这个文件夹下面的话,就算安装好了。这就叫静默安装。不用管APK文件里面的lib目录下的库文件,系统会自动帮我们放入调用库的。
& && &data/system目录下面有packages.xml ,packages.list,appwidgets.xml, 等等一些记录手机安装的软件,Widget等信息。& && &data/misc目录:保存WIFI帐号,VPN设置信息等。如保存了一个WIFI连接帐号,则此目录下的WIFI目录下面可以查看到。& && &system分区常用目录: app , lib, xbin, bin , media,framework.& && &system/app目录:存放系统自带的APK。没有测试过是否将APK放入到System/app目录下,也是静默安装APK。?& && &system/lib目录:存放APK程序用到的库文件。& && &system/bin目录和system/xbin目录:存放的是shell命令。& &&& system/framework目录:启用Android系统所用到框架,如一些jar文件。
<font color="# Android下面的目录都是有权限的,要操作目录都需要有此权限才能操作,如果没有,则使用chomd777来修改.如果是分区根目录,如/data分区, /system分区.都没有权限,则需要重新挂载. 使用 mount -oremount XX
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
已有&3&人评分
精品文章^_^
好久没看到技术贴了!
MIUI 因你更精彩!
MIUI 加油哦~
经验92074 米
威望267 米
在线时间1846 小时
MIUI水军总司令
机型小米手机3/4 WCDMA版
签到次数142
MIUI版本5.9.2
已有&1&人评分
经验1217 米
在线时间26 小时
版本5.8.20
积分 1559, 距离下一级还需 441 积分
积分 1559, 距离下一级还需 441 积分
机型红米Note WCDMA版
签到次数20
MIUI版本5.8.20
到底& && && && && &&&
已有&1&人评分
http://www./
经验19600 米
威望165 米
在线时间1868 小时
机型红米Note TD版
签到次数53
MIUI版本5.9.1
感谢分享,来暖帖
已有&1&人评分
多谢捧场~~
MIUI五周年
MIUI五周年纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
MIUI三周年
MIUI三周年纪念勋章
已关注微信
已关注极客秀微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
小米平板首发纪念勋章
小米平板首发纪念勋章
MIUI 3000万
MIUI 3000万发烧友纪念勋章
百万壁纸评审纪念勋章
小米桌面内测勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
MIUI6 荣誉勋章
MIUI6 荣誉勋章
Copyright (C) 2015 MIUI
京ICP备号 | 京公网安备5号 | 京ICP证110507号红米note。没有root权限怎么办。。。
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因&
我的红米note没有root权限,一开始急于更新系统,忘了开启root权限,现在的系统又是稳定版。根本就不能一键root,刷root权限也不行。。。求大神们帮帮忙。。。。
已有2条答案
有点多,慢慢来。&感谢&网友&&&体验了增强版用此方法ROOT不行 ,请增强版的网友谨慎或者试试先降到12.0再一键ROOT接着刷入第三方REC最后刷入此包的方法。试了好心网友转载的移动叔叔的ROOT方法,没办法真正开启ROOT,今天看到神贴,自己亲测,完美ROOT,不敢藏私,给大家分享!!!修改方式:电脑记事本(或者editplus)修改卡刷包刷入方式:用第三方REC刷入双清即可!(教程:)官方稳定版ROM第一步:打开找到文件夹下的文件,用记事本打开。用电脑自带 记事本 打开,找到ro.build.version.incremental=JHECNBA17.0&&把17.0改成4.5.16 不要添加或者删除其他任何符号或者空格;第二步:找到mete--com--google--android下的updater-scripq,用记事本打开。找到 set_perm(0, 0, 0644, &/system/xbin/su&)&&把 0644 改成 06755 ,保存退出;&第三步:将修改好的ROM放到SD卡根目录,用第三方rec,愉快的刷机吧~刷机成功:&&&部分机油反馈修改失败,这里建议:压缩软件使用WINRAR(好压等其他软件容易出问题);使用记事本时注意空格,不要乱添加,如果可以,用editplus替代笔记本进行修改。最后附上修改好的2个文件,覆盖进去就可以了&&(3.19 KB, 下载次数: 180)&注意:1,修改过的ROM不能采用OTA的方式升级(这点没什么啦,谁知道NOTE的开发版猴年马月才出来。。。以后出了稳定版还是需要用到这个方法刷机获取ROOT)2,不能使用自带rec卡刷,3,需要使用第三方rec刷入。&(104.7 KB, 下载次数: 3)15
选择举报原因&
第一步 找到 授权管理(没有打开这个,你拿任何ROOT软件都是无法ROOT手机)第二步 找到 允许软件应用获取root权限 打开第三步 用刷机大师、或者ROOT大师,ROOT 就搞定了
选择举报原因&
该内容由系统自动生成
参考价:¥0.00
主屏尺寸4.7英寸
电池容量2200mAh
主屏分辨率像素
后置摄像头800万像素
CPU频率1.2GHz
前置摄像头160万像素
CPU类型高通 骁龙410
网络类型双卡
42人的综合分
电池续航2.9
屏幕效果2.5
拍照效果3.4
影音娱乐3.3
外观设计2.7
红米Note 售价曝光  虽然红米Note已经有预订页面曝光,但有关该机的价格和相关配置却仍然是未知数。而根据知情人士透露的信息称,红米Note将会有两个版本推出,...
微信公众账号ZOL问答堂
关注微信,随时随地解答您的疑惑
ZOL问答堂官方微博@ZOL问答堂
微信公众账号
我的手机是小米2s,小米帐号不是我的,也不知道密码了,该怎么办呢?急求!!!
没找到想要的答案?那就登录提问吧

我要回帖

更多关于 小米 bin 的文章

 

随机推荐