检测Android手机是否具有root权限和静默安装

本文介绍如何在Android应用中通过静默安装实现,同时检测目标设备是否具有root权限,确保安装过程顺利进行。

执行静默安装时,需要向手机申请获取root权限,如果手机具有root权限,则可以完成安装。代码如下:

MainActivity:

import java.io.DataOutputStream;  
import java.io.File;  
import java.io.OutputStream;  
  
import android.os.Bundle;  
import android.os.Environment;  
import android.app.Activity;  
import android.util.Log;  
  
public class MainActivity extends Activity {  
    private static final String TAG = "MainActivity";  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        // 笔者手机上的apk路径  
        String apkName = Environment.getExternalStorageDirectory().toString()  
                + File.separator + "police.apk";  
        Log.e(TAG, "root = " + haveRoot("pm install -r " + apkName));  
    }  
  
    /** 
     * 检测是否具体root权限 
     *  
     * @param cmd 
     * @return 
     */  
    private boolean haveRoot(String cmd) {  
        int i = execRootCmdSilent(cmd);  
        if (i != -1) {  
            return true;  
        }  
        return false;  
    }  
  
    /** 
     * 执行静默安装 
     *  
     * @param paramString 
     * @return 
     */  
    private int execRootCmdSilent(String paramString) {  
        int result = -1;  
        try {  
            Process localProcess = Runtime.getRuntime().exec("su");  
            OutputStream os = localProcess.getOutputStream();  
            DataOutputStream dos = new DataOutputStream(os);  
            dos.writeBytes(paramString + "\n");  
            dos.flush();  
            dos.writeBytes("exit\n");  
            dos.flush();  
            localProcess.waitFor();  
            result = localProcess.exitValue();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return result;  
    }  
}  
权限:

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 



转自【http://www.open-open.com/lib/view/open1409191402244.html】

这个是完整源码 python实现 大数据 Spark pyspark 可视化大屏+Kafka+FastAPI+Vue3 【大数据毕业设计】基于Spark实时电商用户行为分析与预测(Python版本+pyspark+可视化大屏+Kafka+FastAPI+Vue3) 源码+论文 完整版 数据库Mysql 随着电子商务规模持续扩大,用户在浏览、加购、收藏与购买等环节产生的行为数据呈现高并发、高吞吐与强时效特征。传统离线批处理分析难以满足运营决策对实时性的要求。本文设计并实现了一套基于 Spark 的实时电商用户行为分析与预测系统,围绕“数据采集—流式计算—指标落库—可视化展示—销售预测”的完整链路展开研究与工程实践。 系统采用前后端分离架构:前端基于 Vue3、Element Plus 与 ECharts 构建管理端与数据大屏;后端采用 Python FastAPI 提供 RESTful 接口,并结合 JWT 完成管理员身份认证;实时链路以 Kafka 作为消息中间件承接行为事件,以 Spark Structured Streaming 完成按小时窗口的 PV、UV、加购、收藏、购买与销售额聚合;预测模块基于 Spark ML 线性回归对销售额序列进行建模,并输出 RMSE、MAE、MAPE 等误差指标。数据持久化采用 MySQL,数据库名为 db_ecommerce,核心业务表均以 t_ 前缀命名。 测试结果表明,系统能够稳定完成管理员登录、个人中心维护、行为与商品管理、实时统计展示、销售预测对比及流水线状态监控等功能,具备较好的可扩展性与教学示范价值,可为电商运营提供实时洞察与辅助决策支持。 本文的主要工作包括:完成系统需求分析与总体架构设计;绘制实体属性图与实体关系图并完成八张核心业务表设计;实现基于 Kafka 与 Spark 的实时统计及销售预测链路;完成 Vue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值