注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

Android开发程序代码获取root权限  

2014-03-13 15:33:03|  分类: Android开发与逆 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

把apk放到/system/app文件夹下,作为系统项目,就可以保证项目有root的权http://限。

root权限的app可以申请很多一般用户无法申请的权限。


参考链接:http://developer.android.com/reference/android/Manifest.permission.html


import java.io.DataOutputStream;  
import java.io.IOException;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.view.View;  
import android.widget.Button;  
  
public class MainActivity extends Activity {  
  
  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        Button open = (Button) findViewById(R.id.open);  
        Button close = (Button) findViewById(R.id.close);  
        open.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                try {  
                    CopyAppToSystem();  
                } catch (IOException e) {  
                    // TODO Auto-generated catch block  
                    e.printStackTrace();  
                }  
            }  
        });  
        close.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                RunAsRooter();  
            }  
        });  
    }  
      
    private void RunAsRooter()  
    {  
        try {  
              Process process = Runtime.getRuntime().exec("su");  
              process.waitFor();  
            } catch (IOException e) {  
              e.printStackTrace();  
            } catch (InterruptedException e) {  
              e.printStackTrace();  
            }  
    }  
      
    private void CopyAppToSystem() throws IOException  
    {  
        Process process = Runtime.getRuntime().exec("su");  
        DataOutputStream out = new DataOutputStream(process.getOutputStream());  
        out.writeBytes("mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system\n");  
        out.writeBytes("cat /sdcard/myApp.adk > /system/app/myApp.adk\n");  
        out.writeBytes("mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system\n");  
        out.writeBytes("exit\n");    
        out.flush();  
        try {  
            process.waitFor();  
        } catch (InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}  
  评论这张
 
阅读(76)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017