Android dan Linux adalah dua sistem operasi yang berbeda . Anda tidak bisa hanya mengambil executable dari satu dan menjalankannya di sisi lain.
Rintangan pertama adalah kernel. Android dan Linux didasarkan pada kernel yang sama, tetapi mereka memiliki beberapa fitur berbeda. Secara khusus, Android menyediakan binder , yang hanya ada di kernel mainstream (yang ditemukan di distribusi Linux) sejak versi 3.19. Aplikasi kode asli murni mungkin tidak menggunakan binder tetapi sebagian besar aplikasi Java melakukannya.
Rintangan kedua adalah perpustakaan dinamis. Jika Anda memiliki executable yang terhubung secara dinamis, itu memanggil dynamic linker. Android dan Linux memiliki tautan dinamis yang berbeda, dan jika tautan dinamis tidak ada, Anda mendapatkan kesalahan yang sama seperti jika executable itu sendiri tidak ada .
Jika Anda menyalin tautan dinamis, dan file konfigurasi yang dibutuhkan, dan pustaka asli, maka Anda harus dapat menjalankan sebagian besar program asli. Anda harus menyalin sebagian besar /system
, dan salinannya harus berada di /system
.
Jika Anda ingin menjalankan aplikasi Java, ini lebih rumit. Anda memerlukan lingkungan runtime Java (Dalvik / ART), dan sebagian besar aplikasi memerlukan beberapa daemon Android juga (beberapa aplikasi kode asli juga memerlukan setan itu).
Hasilnya adalah bahwa sementara kedua sistem dapat hidup bersama pada satu kernel, ini perlu kernel yang cukup baru, atau kernel Android (kernel Android dapat menjalankan sebagian besar aplikasi Linux), dan kedua sistem operasi perlu diinstal - Anda tidak dapat menginstal jalankan saja satu aplikasi dari yang lain.
Saya tidak mengetahui adanya penginstal siap pakai untuk Android di atas Linux. Ada beberapa installer untuk sebaliknya, khususnya Linux pada Android .
Jika tujuannya adalah menjalankan aplikasi Android pada sistem Linux, maka cara termudah sejauh ini adalah menjalankannya di dalam emulator yang merupakan bagian dari alat pengembangan Android .
file app_process
kembali?