Saya perlu menjalankan configure
file ke ponsel android saya jadi saya pikir cara terbaik untuk melakukan ini adalah dengan menggunakan adb shell
perintah.
Saya menjalankan emulator Android ke platform Windows-7, dan di sana saya menjalankan adb shell
perintah ke jendela DOS. Menggunakan cd
perintah saya mengubah ke direktori dimana saya configure
file, dan kemudian aku menjalankan perintah berikut: ./configure
. Saya mendapatkan kesalahan berikut:
./configure: permission denied
Jadi saya mencoba menjalankan adb dalam mode root dengan adb root
- tetapi ternyata adb saya sudah dalam mode root (Selain itu saya memiliki karakter "#" sebelum setiap baris shell adb saya).
Saya juga sudah mencoba menggunakan chmod
tetapi saya tidak melihat perbedaan sebelum dan sesudah menjalankan perintah ini ( ls -la
), jadi mungkin masalahnya ada di sini (Bagaimana saya bisa menjalankan chmod
perintah?).
Mungkin seseorang di sini dapat membantu saya dengan masalah saya, dan jika Anda juga memiliki penjelasan tentang mengapa saya tidak memiliki izin untuk menjalankan configure
file saya itu akan bagus.
Terima kasih.
PS: Tujuan saya di sini adalah menggunakan paket net-snmp pada platform Android dengan mengkompilasi sumber-sumber proyek ini langsung ke platform.
/sdcard
biasanya dipasang dengannoexec
bendera di Android, jadi Anda tidak dapat menjalankan binari darinya. Saya akan merekomendasikan mencoba memindahkannya ke tempat lain (sering/data/local
digunakan untuk hal-hal seperti itu). Lihat apakah itu menyelesaikan masalah./usr/local/tmp
direktori (seluruhnet-snmp-5.7.2
direktori dalam/sdcard
.Jawaban:
Ini karena 2 hal:
noexec
flag, sebagaimana dinyatakan dalam komentar. Ini menghentikan file yang sedang dieksekusi.Larutan:
net-snmp-5.7.2
direktori ke/data/local/tmp
direktori sebagai root.configure
file yang akan dieksekusi dengan menjalankanchmod 0777 /data/local/tmp/net-snmp-5.7.2/configure
sebagai root./data/local/tmp/net-snmp-5.7.2/configure
dan menekan enter.Catatan
Ini semua harus dilakukan sebagai pengguna root :)
sumber
Seperti yang dijelaskan oleh komentar dan jawaban Liam , ini disebabkan oleh
noexec
bendera yang digunakan oleh sistem saat memasang sdcard. Jikaconfigure
file Anda adalah skrip shell (seperti biasanya), Anda masih bisa mengelabui itu untuk dieksekusi:cd
ke direktori seperti yang Anda jelaskan di atas, dan kemudian jalankansh configure
.sh
adalah penerjemah Shell, dan biner itu harus diletakkan di/system/bin
tempat file dapat dieksekusi. Melewati skrip Anda sebagai argumen pertama, ini akan membuka proses shell baru yang mengeksekusiconfigure
skrip Anda .sumber
sh configure
melakukan trik.