Android 2.2: adb; install to SD card
"Разобрался, почему приложения не хотят ставиться на SD-карточку. Оказалось, что просто пока таких приложений ещё пока нет, но ставить их на карточку всё равно уже можно, только с небольшим вывертом. Перенёс несколько штук из телефона на карту. Расскажу, как."
© Kir Kolyshkin
I. Получение доступа к шеллу от телефона.
Длинный способ -- поставить (на "большой компьютер") и настроить adb >>>
Code
ADB
Поставьте Android SDK.
Пропишите себя в группу plugdev: (*только для linux)
sudo /usr/sbin/usermod -a -G plugdev $USER
Пропишите настройки для udev (эти -- для Nexus One):
# cat << EOF > /etc/udev/rules.d/90-android.rules
SUBSYSTEM=="usb|usb_device", SYSFS{idVendor}=="18d1", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb|usb_device", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", SYMLINK+="android_adb"
SUBSYSTEM=="usb|usb_device", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
EOF
Перелогиньтесь и проверьте, что вы в группе plugdev (id | grep plug)
На телефоне поставьте галочку на Settings -> Applications -> Development -> USB debugging
Подключите телефон к компу посредством USB шнурка, смотрите, появился ли нужный девайс (ls -l /dev/andr*)
Запустите adb shell:
adb shell
Если вам выдали $доллар$ -- это шелл от телефона (не рутовый, конечно).
В шелле телефона пишем:
pm setInstallLocation 2
Это значит, что хотим непременно на SD card.
Теперь можно пойти в Settings -> Applications -> Manage Applications, там ткнуть в любое приложение и нажать на (уже теперь не-серую) кнопочку "Move to SD card". Таким же образом перенести все "толстые" приложения. Не рекомендуется переносить на карточку часто используемые приложения, живые обои и т.п.
Также можно пойти и в Маркет, где что-нибудь себе поставить. Ставиться оно будет сразу на SD card.
"И увидел он, что это хорошо". Закончив работы по п. 3, надобно опять пойти в шелл телефона и восстановить там старое значение параметра InstallLocation:
pm setInstallLocation 0