Ada beberapa faktor yang dapat mempengaruhi ini:
Aplikasi harus secara eksplisit menyatakan bahwa itu lebih disukai / mungkin dipasang pada kartu SD.
Dimulai dengan API Level 8, Anda dapat mengizinkan aplikasi Anda diinstal pada penyimpanan eksternal (misalnya, kartu SD perangkat). Ini adalah fitur opsional yang dapat Anda deklarasikan untuk aplikasi Anda dengan android:installLocation
atribut manifes. Jika Anda tidak mendeklarasikan atribut ini, aplikasi Anda akan diinstal pada penyimpanan internal saja dan tidak dapat dipindahkan ke penyimpanan eksternal .
(Penekanan milikku)
Aplikasi diatur untuk dikompilasi menggunakan API 7 (Froyo) atau lebih rendah, yang tidak mendukung pemasangan aplikasi pada kartu SD (bahkan jika itu diinstal pada GingerBread atau perangkat yang lebih baru)
Kemampuan aplikasi Anda untuk menginstal pada penyimpanan eksternal adalah fitur yang hanya tersedia pada perangkat yang menjalankan API Level 8 (Android 2.2) atau lebih tinggi. Aplikasi yang sudah ada yang dibangun sebelum API Level 8 akan selalu diinstal pada penyimpanan internal dan tidak dapat dipindahkan ke penyimpanan eksternal (bahkan pada perangkat dengan API Level 8) . Namun, jika aplikasi Anda dirancang untuk mendukung Tingkat API lebih rendah dari 8, Anda dapat memilih untuk mendukung fitur ini untuk perangkat dengan API Level 8 atau lebih besar dan masih kompatibel dengan perangkat yang menggunakan Tingkat API lebih rendah dari 8.
(Penekanan milikku)
Alasan mengapa beberapa aplikasi tidak disukai untuk dipasang pada kartu SD adalah sebagai berikut:
Ketika pengguna mengaktifkan penyimpanan massal USB untuk berbagi file dengan komputer mereka (atau jika tidak, pasang atau hapus penyimpanan eksternal), aplikasi apa pun yang diinstal pada penyimpanan eksternal dan yang sedang berjalan akan terbunuh. Sistem secara efektif menjadi tidak mengetahui aplikasi sampai penyimpanan massal dinonaktifkan dan penyimpanan eksternal dipasang kembali pada perangkat. Selain mematikan aplikasi dan membuatnya tidak tersedia bagi pengguna, ini dapat merusak beberapa jenis aplikasi dengan cara yang lebih serius. Agar aplikasi Anda secara konsisten berperilaku seperti yang diharapkan, Anda tidak boleh membiarkan aplikasi Anda diinstal pada penyimpanan eksternal jika menggunakan salah satu dari fitur berikut, karena konsekuensi yang dikutip ketika penyimpanan eksternal dilepas:
Jasa
Berjalan Anda Service
akan terbunuh dan tidak akan dimulai kembali ketika penyimpanan eksternal di-remount. [...]
Layanan Alarm
Alarm Anda yang terdaftar dengan AlarmManager
akan dibatalkan. [...]
Mesin Metode Input
IME Anda akan diganti oleh IME default. [...]
Wallpaper Hidup
Wallpaper Animasi Anda yang berjalan akan diganti dengan Wallpaper Animasi default. [...]
Widget Aplikasi
Widget Aplikasi Anda akan dihapus dari layar beranda. Ketika penyimpanan eksternal dimount ulang, Widget Aplikasi Anda tidak akan tersedia bagi pengguna untuk memilih sampai sistem me-reset aplikasi rumah (biasanya tidak sampai sistem reboot).
Manajer Akun
Akun Anda yang dibuat dengan AccountManager
akan menghilang sampai penyimpanan eksternal di-remount.
Sinkronkan Adaptor
Anda AbstractThreadedSyncAdapter
dan semua fungsinya yang disinkronkan tidak akan berfungsi sampai penyimpanan eksternal di-remount.
Administrator Perangkat
DeviceAdminReceiver
Kemampuan Anda dan semua adminnya akan dinonaktifkan, yang dapat memiliki konsekuensi yang tidak terduga untuk fungsionalitas perangkat, yang dapat bertahan setelah penyimpanan eksternal di-remount.
Penerima Siaran mendengarkan "boot selesai"
Sistem mengirimkan ACTION_BOOT_COMPLETED
siaran sebelum penyimpanan eksternal dipasang ke perangkat. Jika aplikasi Anda diinstal pada penyimpanan eksternal, ia tidak akan pernah bisa menerima siaran ini.
Jika aplikasi Anda menggunakan salah satu fitur yang tercantum di atas, Anda seharusnya tidak mengizinkan aplikasi Anda untuk menginstal pada penyimpanan eksternal.
(Beberapa bagian dihapus. Mereka menjelaskan apa yang harus dilakukan pengembang agar aplikasi mereka berfungsi dengan baik setelah kartu SD dipasang kembali.)
Catatan : jawaban ini berfungsi sebagai informasi umum untuk "Mengapa beberapa aplikasi tidak dapat dipindahkan ke kartu SD"
Sumber: Pengembang Android: Lokasi Instalasi Aplikasi .