Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从apk执行adb外壳输入滑动命令_Android_Shell_Apk_Adb - Fatal编程技术网

Android 从apk执行adb外壳输入滑动命令

Android 从apk执行adb外壳输入滑动命令,android,shell,apk,adb,Android,Shell,Apk,Adb,我正在尝试使用从Apk执行刷卡命令 process=Runtime.getRuntime().exec(“adb外壳输入滑动250 300 -800 300"); 但在运行期间不会发生任何事情,也不会发生错误 我是否必须在清单中添加任何内容才能使其工作?您只能以root或shell用户身份执行/system/bin/input;这在应用程序中不起作用。从应用程序运行时,该命令不应以“adb shell”开头 要以root用户身份运行该命令,请执行以下操作: Process su = null;

我正在尝试使用从Apk执行刷卡命令

process=Runtime.getRuntime().exec(“adb外壳输入滑动250 300 -800 300");

但在运行期间不会发生任何事情,也不会发生错误

我是否必须在清单中添加任何内容才能使其工作?

您只能以root或shell用户身份执行/system/bin/input;这在应用程序中不起作用。从应用程序运行时,该命令不应以“adb shell”开头

要以root用户身份运行该命令,请执行以下操作:

Process su = null; 
try { 
    su = Runtime.getRuntime().exec("su");
    su.getOutputStream().write("input swipe 250 300 -800 300\n".getBytes());
    su.getOutputStream().write("exit\n".getBytes());
    su.waitFor(); 
} catch (Exception e) {
    e.printStackTrace();
} finally { 
    if (su != null) { 
        su.destroy(); 
    } 
}
您还应该查看处理su命令的第三方库:

您只能以root或shell用户身份执行/system/bin/input;这在应用程序中不起作用。从应用程序运行时,该命令不应以“adb shell”开头

要以root用户身份运行该命令,请执行以下操作:

Process su = null; 
try { 
    su = Runtime.getRuntime().exec("su");
    su.getOutputStream().write("input swipe 250 300 -800 300\n".getBytes());
    su.getOutputStream().write("exit\n".getBytes());
    su.waitFor(); 
} catch (Exception e) {
    e.printStackTrace();
} finally { 
    if (su != null) { 
        su.destroy(); 
    } 
}

您还应该检查第三方库以处理su命令:

您需要在清单中设置INJECT\u EVENTS权限:

uses-permission android:name="android.permission.INJECT_EVENTS" 使用权限android:name=“android.permission.INJECT\u事件”
您需要将Injectu事件权限放入清单中:

uses-permission android:name="android.permission.INJECT_EVENTS" 使用权限android:name=“android.permission.INJECT\u事件”
非常感谢..works fine从上两周开始一直在做:)我没有例外,但它对我没有任何帮助。从亚洲开发银行试用,看到刷卡产生,只是无法使用该应用程序。我如何检查出了什么问题?我需要将应用程序作为系统应用程序进行签名吗?非常感谢..工作正常从上两周开始一直在进行:)我没有收到任何异常,但它对我没有任何帮助。从亚洲开发银行试用,看到刷卡产生,只是无法使用该应用程序。我如何检查出了什么问题?我需要将应用程序作为系统应用程序进行签名吗?我不知道该应用程序存在。有没有一个地方可以让我读到更多关于这个的东西?我不知道这个存在。有没有一个地方可以让我读到更多关于这个的东西?