Вот как это делается из-под Windows на примере офисного приложения Picsel Smart Office (если пользуетесь другим способом редактирования apk, то переходите сразу к пунктам 6-9):
- Скачиваем и устанавливаем java-машину (ссылка).
- Скачиваем отсюда первые два файла. Оба файла нужно распаковать в папку WINDOWS (распаковываются WinRar'ом)
- Создаем в корне диска C:\ папку 1111 и размещаем там файл .apk, который хотим научить устанавливаться на SD-карту. Переименовываем его в 1111.apk, для удобства.
- Пуск - Выполнить - CMD - ОК (В Win7 и Vista путь выглюдит иначе: Пуск - Все Программы - Стандартные - Командная строка - ОК).
- Набираем в консоли латиницей код разборки .apk и ждем окончания процесса:КодC:
cd c:\
apktool d 1111\1111.apk 1111\1111 - Заходим в папку C:\1111\1111 и открываем AndroidManifest.xml любым текстовым редактором (можно Блокнотом)
- Находим примерно такую строку (у каждой программы свое значение параметров, но сами параметры везде одинаковы):Код<manifest android:versionCode="6342" android:versionName="1.7.0" package="com.picsel.tgv.app.ue2fileviewer"
- Заменяем эту строку на следующую:Код<manifest android:versionCode="6342" android:versionName="1.7.0" android:installLocation="auto" package="com.picsel.tgv.app.ue2fileviewer"
Что мы сделали? Добавили параметр android:installLocation="auto" между номером версии и названием пакета. - Сохраняем файл.
- Набираем в консоли латиницей код сборки .apk (вы ведь еще не закрывали консоль, нет?), ждем окончания процесса:Кодapktool b 1111\1111
В папке C:\1111\1111\ появятся новые папки: build и dist. Заходим в dist. - Подписываем приложение. Я использую для этого скрипт Auto-sign Нажмите для просмотра прикрепленного файла
Как пользоваться скриптом? Распакуйте содержимое внутренней папки архива "Auto-sign" в dist, переименуйте 1111.apk в update.zip, запустите sign.bat, дождитесь окончания процесса, переименуйте update_signed.zip в xxxx.apk (где xxxx - любое название, придумайте его сами).
Ну вот и все, теперь можно ставить программу (или игру) на телефон.
- Поверх оригинальной версии адаптированная вряд ли поставится. В таком случае, удалите оригинал и ставьте свою переделанную. А для того, чтобы не потерять данные при удалении, используйте Titanium Backup;
- На Android 2.2 программы на карту памяти переносятся лишь частично (около 40-50% от оригинального размера), а на Android 2.3 и выше программы могут переноситься почти целиком (до 90-95% от оригинального размера);
- CyanogenMod 6 и 7 вообще не проверяют Manifest, т.е. программы можно перемещать на карту памяти даже без согласия разработчика и выполнения данной инструкции.
- Эта инструкция написана для того, чтобы у некоторых людей (вроде меня) не было необходимости прибегать к app2sd и прочей ерунде, нагружающей флешку, батарейку и процессор.
За информацию Спасибо! Alelug с 4Пда