Rumah >Java >javaTutorial >Bagaimana untuk Menjalankan Perintah Shell dengan Keistimewaan Tinggi dalam Aplikasi Android?
Melaksanakan Perintah Shell daripada Aplikasi Android
Apabila cuba melaksanakan arahan shell dari dalam aplikasi Android, adalah penting untuk mempertimbangkan had yang dikenakan oleh sistem pengendalian. Untuk mendapatkan keistimewaan yang tinggi, adalah disyorkan untuk menggunakan utiliti "su", yang menyediakan mekanisme yang lebih selamat untuk memberikan akses root sementara.
Dalam terminal Android standard, melaksanakan arahan dengan "su" dicapai dengan menaip "su" diikuti dengan arahan yang dikehendaki, seperti "screenrecord --time-limit 10 /sdcard/MyVideo.mp4". Walau bagaimanapun, apabila cuba melakukan tindakan yang sama ini dari dalam aplikasi Java, mungkin terdapat kesukaran.
Satu isu yang berpotensi возникает apabila cuba melaksanakan "su" dan arahan secara serentak. Untuk meningkatkan keistimewaan dengan betul, adalah perlu untuk melancarkan proses "su" dahulu dan seterusnya memberikan arahan sebagai input melalui aliran input standard.
Untuk mencapai ini, versi kod yang diubah suai adalah seperti berikut:
try { Process su = Runtime.getRuntime().exec("su"); DataOutputStream outputStream = new DataOutputStream(su.getOutputStream()); // Provide the command through the standard input stream outputStream.writeBytes("screenrecord --time-limit 10 /sdcard/MyVideo.mp4\n"); outputStream.flush(); // Terminate the "su" process outputStream.writeBytes("exit\n"); outputStream.flush(); su.waitFor(); } catch (IOException | InterruptedException e) { throw new Exception(e); }
Dengan mengubah suai kod dengan cara ini, adalah mungkin untuk berjaya melaksanakan perintah shell daripada aplikasi Android menggunakan utiliti "su", dengan itu memperoleh keistimewaan yang tinggi seperti yang diperlukan untuk tugas seperti rakaman skrin.
Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Perintah Shell dengan Keistimewaan Tinggi dalam Aplikasi Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!