Мені хотілося б знати, чи існує спосіб сказати Android про встановлення програм на Micro SD-картці за замовчуванням, замість того, щоб спочатку завантажувати програми на внутрішню пам'ять, а потім пересувати їх на SD-карту вручну.
Спасибі
Мені хотілося б знати, чи існує спосіб сказати Android про встановлення програм на Micro SD-картці за замовчуванням, замість того, щоб спочатку завантажувати програми на внутрішню пам'ять, а потім пересувати їх на SD-карту вручну.
Спасибі
Відповіді:
Ця стаття в HowtoGeek описує можливий спосіб використання adb :
adb shell pm setInstallLocation 2
adb shell pm set-install-location 2
)Ця команда встановить ціль встановлення пристроїв за замовчуванням на вашу SDCard. Це не обов'язково означає, що все там буде встановлено: лише додатки, що підтримують це, будуть надходити там, і розробники можуть "перекрити" це в своїх маніфестах додатків, якщо вони вважають, що це потрібно. Із пов'язаної посилання API :
Змінює місце встановлення за замовчуванням. Значення місцеположення:
0
: Авто - Нехай система визначає найкраще місце розташування.1
: Внутрішня - встановлення на внутрішньому сховищі пристрою.2
: Зовнішній - встановіть на зовнішній носій.Примітка. Це призначено лише для налагодження; використання цього може спричинити зрив додатків та іншу небажану поведінку.
Щоб отримати докладніші відомості про ADB, і як ви можете, наприклад, отримати мінімальну версію його на свій комп'ютер (без зайвого встановлення всього SDK), ви можете подивитися на adb tag-wiki .
Оновлення: Щоб уникнути плутанини з відповіддю t0mm13b , деякий зазор у процесі встановлення:
/data/local
файл , тобто у ваше внутрішнє сховище . Ви не можете цього змінити..apk
заповіт буде встановлено автоматично. Де це залежить, залежить від кількох речей:
android:installLocation
властивість у своїх додатках Manifest
, додаток буде встановлено для внутрішньої історії. Повна зупинка, іншого вибору немає (див. Посилання API ).android:installLocation
встановлено preferExternal
, і зовнішнє сховище буде доступне, воно піде туди.auto
, це знову залежить:
Це неможливо змінити! Саме так працює Android.
Усі завантаження з Google Play переходять до внутрішньої файлової системи, а потім із:
Якщо кнопку " Перемістити на SDCard" вимкнено або переглянуто сірим кольором, це, ймовірно, не дозволяє додатку функціонувати - наприклад, власні віджети на головному екрані.
Також дивіться цю відповідь у відповідній бічній панелі праворуч від цієї сторінки. :)
android:installLocation="auto"
Не бачив adb shell pm setInstallLocation 2
, імовірно, ви вказуєте назву пакета в цьому випадку ...
Manifest
сказано "авто", саме там і йдеться. Якщо Manifest
приказка відрізняється від "авто", вона іде там, де Manifest
йдеться. Дивіться також: API ref , також тут для команди pm set-install-location
(новий синтаксис).
android:installLocation
- насправді дозволяє перейти до SDCard із налаштувань керування додатком ... Деякі розробники не вказують цього і робить кнопку відключеною, але я поступаюсь - ніколи не бачив команду adb для цього
/data/local
, а звідти встановлено додаток. Але залежно від налаштувань та маніфесту, він встановлюється або внутрішнім, або безпосередньо зовнішнім звідти. // Якщо ви хочете детально обговорити це: ви пам’ятаєте наш паб, гм, чат? :)
Встановіть "Термінальний емулятор для Android" у своєму мобільному телефоні та відкрийте
$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]
Перейдіть до "Керування програмами", а потім виберіть вкладку "Усі" та знайдіть "Google Play Store". Торкніться її, а потім натисніть кнопку "Видалити оновлення". Після цього перейдіть у Play Store, всі додатки будуть встановлені на вашій SD-картці. Це я зробив на своєму QMobile A110 (Android 4.2).
Справа в тому, що ви можете змінити каталог встановлення за замовчуванням, якщо ваш телефон укорінений. Завантажте щасливий патч і натисніть на інструменти, там ви можете знайти можливість змінити за замовчуванням installt Directort. ** Не робіть цього для Android 4 або вище, інакше це може призвести до незворотних змін. **