云网牛站
所在位置:首页 > Linux手机 > 在Deepin系统中使用Genymotion让安卓模拟器拥有root权限

在Deepin系统中使用Genymotion让安卓模拟器拥有root权限

2018-11-16 15:59:34作者:Android人稿源:lolimay.cn网

本文所要介绍的是在Deepin系统中使用Genymotion让安卓模拟器拥有root权限,分两个步骤:一是安装genymotion并创建一个自定义镜像,二是在Android Studio中安装Genymotion插件。

 

背景

在实际Android开发过程中,某些待调试的应用可能需要root权限,但是AVD Manager默认创建的AVD是不带root权限的,这时候应该怎样才能才能root我们的AVD呢?

这里我们采取一个非正面的方式,使用第三方安卓模拟器(genymotion,自带root权限)创建一个虚拟设备,然后在Android Studio中安装这个模拟器的插件,最后调试的时候AVD就能自动识别这个虚拟设备并调用它。

由于是在Deepin Linux系统下进行的,所以大家在按照下面的步骤操作时要学会变通。

 

步骤一、安装genymotion并创建一个自定义镜像

1.打开深度商店下载genymotion模拟器,其它Linux发行版请自行安装:

在Deepin系统中使用Genymotion让安卓模拟器拥有root权限

2.安装完毕后,打开Genymotion创建虚拟安卓设备:

在Deepin系统中使用Genymotion让安卓模拟器拥有root权限

3.点击运行启动虚拟安卓设备,如图:

在Deepin系统中使用Genymotion让安卓模拟器拥有root权限

注意:这一步结束后这个窗口要一直挂在后台,别把它关闭了,否则后面AVD Manager会识别不出来这个设备。

 

步骤二、在Android Studio中安装Genymotion插件

1.打开Android Studio->顶部菜单栏->File->Settings->Plugins->Browse repositories->在搜索框搜索**genymotion**->安装genymotion,以下为动画演示:

在Deepin系统中使用Genymotion让安卓模拟器拥有root权限

2.这时候你会发现其实你已经成功了,点击run app(就是那个绿色的播放键)按钮,启动调试,这时候你会在设备列表中发现你刚刚创建的Genymotion虚拟设备,大功告成:

在Deepin系统中使用Genymotion让安卓模拟器拥有root权限

 

附:让你的Android应用申请root权限

在实际的Android开发中,我们开发的应用可能会需要申请root权限,但应该怎么样写这段代码呢?

这里提供一个申请root权限的类,方便大家使用。

步骤一、在Android Studio中新建一个SystemManager.java类

SystemManager.java的内容如下:

package com.example.lolimay;

import java.io.DataOutputStream;

import android.app.Activity;

import android.util.Log;

public class SystemManager extends Activity {

/**

 * 应用程序运行命令获取Root权限,设备必须已破解(获得ROOT权限)

 * @param command 命令:String apkRoot="chmod 777 "+getPackageCodePath();  RootCommand(apkRoot);

 * @return 应用程序是/否获取Root权限

*/

public static boolean RootCommand(String command) {

Process process = null;

DataOutputStream os = null;

try {

process = Runtime.getRuntime().exec("su");

os = new DataOutputStream(process.getOutputStream());

os.writeBytes(command + "\n");

os.writeBytes("exit\n");

os.flush();

process.waitFor();

} catch (Exception e) {

Log.d("*** DEBUG ***", "ROOT REE" + e.getMessage());

return false;

} finally {

try {

if (os != null) {

os.close();

}

process.destroy();

} catch (Exception e) {

}

}

Log.d("*** DEBUG ***", "Root SUC ");

return true;

}

}

注意:第一行的包名要改成自己的(学会变通)。

步骤二、在MainActivity.java中添加两行代码,即为申请root权限:

String apkRoot="chmod 777 "+getPackageCodePath();

SystemManager.RootCommand(apkRoot);

大功告成,然后打开root后的手机或者root后的模拟器试试,以上两个步骤处理完应该就能达到目的了。

 

相关主题

在Ubuntu和Linux Mint中轻松安装Android Studio

精选文章
热门文章