adb shell pm でアプリのインストール先を指定する
FroyoでSDカードにアプリがインストールできるということなのだが、
Androidのアプリのインストール先を指定できるらしい。
$ adb shell pm setInstallLocation 2 The setInstallLocation command changes the default install location 0 [auto]: Let system decide the best location 1 [internal]: Install on internal device storage 2 [external]: Install on external media
この「pm」というコマンド、
PackageManager の略だと思うのだが、こんなかんじ。
usage: pm [list|path|install|uninstall] pm list packages [-f] pm list permission-groups pm list permissions [-g] [-f] [-d] [-u] [GROUP] pm list instrumentation [-f] [TARGET-PACKAGE] pm list features pm path PACKAGE pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH pm uninstall [-k] PACKAGE pm enable PACKAGE_OR_COMPONENT pm disable PACKAGE_OR_COMPONENT pm setInstallLocation [0/auto] [1/internal] [2/external] The list packages command prints all packages. Options: -f: see their associated file. The list permission-groups command prints all known permission groups. The list permissions command prints all known permissions, optionally only those in GROUP. Options: -g: organize by group. -f: print all information. -s: short summary. -d: only list dangerous permissions. -u: list only the permissions users will see. The list instrumentation command prints all instrumentations, or only those that target a specified package. Options: -f: see their associated file. The list features command prints all features of the system. The path command prints the path to the .apk of a package. The install command installs a package to the system. Options: -l: install the package with FORWARD_LOCK. -r: reinstall an exisiting app, keeping its data. -t: allow test .apks to be installed. -i: specify the installer package name. -s: install package on sdcard. -f: install package on internal flash. The uninstall command removes a package from the system. Options: -k: keep the data and cache directories around. after the package removal. The enable and disable commands change the enabled state of a given package or component (written as "package/class"). The getInstallLocation command gets the current install location 0 [auto]: Let system decide the best location 1 [internal]: Install on internal device storage 2 [external]: Install on external media The setInstallLocation command changes the default install location 0 [auto]: Let system decide the best location 1 [internal]: Install on internal device storage 2 [external]: Install on external media
いくつアプリを入れているのか分かっていなかったのだが。
$ adb shell pm list packages -f | wc -l 151
どのアプリがどこにインストールされているか。
$ adb shell pm list packages -f | sort package:/data/app-private/com.gmail.nagamatu.radiko.apk=com.gmail.nagamatu.radiko package:/data/app-private/com.polarbit.rthunderlite.apk=com.polarbit.rthunderlite package:/data/app-private/jp.sakura_hoaru.Menu0-1.apk=jp.sakura_hoaru.Menu0 package:/data/app/com.adamrocker.android.input.simeji-1.apk=com.adamrocker.android.input.simeji package:/data/app/com.adobe.flashplayer-1.apk=com.adobe.flashplayer package:/data/app/com.adobe.reader-1.apk=com.adobe.reader package:/data/app/com.appspot.swisscodemonkeys.apps-1.apk=com.appspot.swisscodemonkeys.apps package:/data/app/com.aurorasoftworks.quadrant.ui.standard-2.apk=com.aurorasoftworks.quadrant.ui.standard package:/data/app/com.benigumo.siteshot-1.apk=com.benigumo.siteshot package:/data/app/com.benigumo.useragentswitcher-1.apk=com.benigumo.useragentswitcher package:/data/app/com.blogspot.fareastsky.latte.apk=com.blogspot.fareastsky.latte package:/data/app/com.bwx.bequick-1.apk=com.bwx.bequick package:/data/app/com.chnavi.android2ch.apk=com.chnavi.android2ch package:/data/app/com.codesector.speedview.free-1.apk=com.codesector.speedview.free package:/data/app/com.curvefish.widgets.autorotateonoff-1.apk=com.curvefish.widgets.autorotateonoff package:/data/app/com.dropbox.android-2.apk=com.dropbox.android package:/data/app/com.eclipsim.gpsstatus2.apk=com.eclipsim.gpsstatus2 package:/data/app/com.electricsheep.mtp-1.apk=com.electricsheep.mtp package:/data/app/com.evernote-1.apk=com.evernote package:/data/app/com.farproc.wifi.analyzer-2.apk=com.farproc.wifi.analyzer package:/data/app/com.fede.launcher-1.apk=com.fede.launcher package:/data/app/com.fring-1.apk=com.fring package:/data/app/com.fsck.k9-2.apk=com.fsck.k9 package:/data/app/com.google.android.apps.chrometophone-1.apk=com.google.android.apps.chrometophone package:/data/app/com.google.android.apps.localdirectory-1.apk=com.google.android.apps.localdirectory package:/data/app/com.google.android.apps.maps-1.apk=com.google.android.apps.maps package:/data/app/com.google.android.maps.mytracks-2.apk=com.google.android.maps.mytracks package:/data/app/com.google.code.apndroid.apk=com.google.code.apndroid package:/data/app/com.google.code.appsorganizer-1.apk=com.google.code.appsorganizer package:/data/app/com.google.zxing.client.android-1.apk=com.google.zxing.client.android package:/data/app/com.greatbytes.fastreboot-1.apk=com.greatbytes.fastreboot package:/data/app/com.hatena.android.accounts.apk=com.hatena.android.accounts package:/data/app/com.luke.worldcup2010-2.apk=com.luke.worldcup2010 package:/data/app/com.madcowsolutions.NavLauncher-1.apk=com.madcowsolutions.NavLauncher package:/data/app/com.md.search-2.apk=com.md.search package:/data/app/com.meebo-1.apk=com.meebo package:/data/app/com.metago.astro-1.apk=com.metago.astro package:/data/app/com.metago.astro.network.bluetooth-1.apk=com.metago.astro.network.bluetooth package:/data/app/com.metago.astro.smb-1.apk=com.metago.astro.smb package:/data/app/com.mixzing.basic-2.apk=com.mixzing.basic package:/data/app/com.newsrob-1.apk=com.newsrob package:/data/app/com.nubinews.japanreader-2.apk=com.nubinews.japanreader package:/data/app/com.popczar.music-1.apk=com.popczar.music package:/data/app/com.qik.android-2.apk=com.qik.android package:/data/app/com.roflharrison.agenda-2.apk=com.roflharrison.agenda package:/data/app/com.seesmic-1.apk=com.seesmic package:/data/app/com.spodtronic.radio.jazzfm-1.apk=com.spodtronic.radio.jazzfm package:/data/app/com.trans.music.find.apk=com.trans.music.find package:/data/app/com.youtube_ripper-2.apk=com.youtube_ripper package:/data/app/it.medieval.blueftp-1.apk=it.medieval.blueftp package:/data/app/jp.co.bii.android.app.cnv.apk=jp.co.bii.android.app.cnv package:/data/app/jp.meloncake.mydocomo-2.apk=jp.meloncake.mydocomo package:/data/app/jp.ne.gate.calpad-1.apk=jp.ne.gate.calpad package:/data/app/lysesoft.andftp-1.apk=lysesoft.andftp package:/data/app/net.grandnature.android.imodenotifier-2.apk=net.grandnature.android.imodenotifier package:/data/app/net.rgruet.android.g3watchdog-1.apk=net.rgruet.android.g3watchdog package:/data/app/net.uhmaro.android.rosen.apk=net.uhmaro.android.rosen package:/data/app/nextapp.systempanel-1.apk=nextapp.systempanel package:/data/app/org.appaware-2.apk=org.appaware package:/data/app/org.connectbot.apk=org.connectbot package:/data/app/org.paulmach.textedit.apk=org.paulmach.textedit package:/data/app/org.satok.gweather.apk=org.satok.gweather package:/data/app/org.sevenleaves.android.androidmanifestreader-1.apk=org.sevenleaves.android.androidmanifestreader package:/data/app/org.zwanoo.android.speedtest.apk=org.zwanoo.android.speedtest package:/data/app/sg.ruqqq.quickdesk-1.apk=sg.ruqqq.quickdesk package:/data/app/tv.ustream.player-1.apk=tv.ustream.player package:/data/app/tv.ustream.usclient.apk=tv.ustream.usclient package:/data/app/vStudio.Android.GPhoto-1.apk=vStudio.Android.GPhoto package:/data/app/ymst.android.homeswitcher.apk=ymst.android.homeswitcher package:/mnt/asec/brut.googlemaps-1/pkg.apk=brut.googlemaps package:/mnt/asec/com.NamcoNetworks.PacMan-1/pkg.apk=com.NamcoNetworks.PacMan package:/mnt/asec/com.benigumo.popupbookmarks-1/pkg.apk=com.benigumo.popupbookmarks package:/mnt/asec/com.ccpcreations.android.MarioLiveWallpaprer-1/pkg.apk=com.ccpcreations.android.MarioLiveWallpaprer package:/mnt/asec/com.lookout-1/pkg.apk=com.lookout package:/mnt/asec/com.quoord.tapatalkxda.activity-1/pkg.apk=com.quoord.tapatalkxda.activity package:/mnt/asec/com.replica.replicaisland-1/pkg.apk=com.replica.replicaisland package:/mnt/asec/com.shazam.android-1/pkg.apk=com.shazam.android package:/mnt/asec/since2006.apps.droidhb-1/pkg.apk=since2006.apps.droidhb package:/mnt/asec/souvey.musical-1/pkg.apk=souvey.musical package:/system/app/AccountAndSyncSettings.apk=com.android.providers.subscribedfeeds package:/system/app/ApplicationsProvider.apk=com.android.providers.applications package:/system/app/Bluetooth.apk=com.android.bluetooth package:/system/app/Browser.apk=com.android.browser package:/system/app/Calculator.apk=com.android.calculator2 package:/system/app/CalendarGoogle.apk=com.google.android.calendar package:/system/app/CalendarProvider.apk=com.android.providers.calendar package:/system/app/CameraGoogle.apk=com.google.android.camera package:/system/app/CarHomeGoogle.apk=com.google.android.carhome package:/system/app/CarHomeLauncher.apk=com.android.cardock package:/system/app/CertInstaller.apk=com.android.certinstaller package:/system/app/Contacts.apk=com.android.contacts package:/system/app/ContactsProvider.apk=com.android.providers.contacts package:/system/app/DefaultContainerService.apk=com.android.defcontainer package:/system/app/DeskClockGoogle.apk=com.android.deskclock package:/system/app/DownloadProvider.apk=com.android.providers.downloads package:/system/app/DrmProvider.apk=com.android.providers.drm package:/system/app/EmailGoogle.apk=com.android.email package:/system/app/Facebook.apk=com.facebook.katana package:/system/app/Gallery3DGoogle.apk=com.cooliris.media package:/system/app/GenieWidget.apk=com.google.android.apps.genie.geniewidget package:/system/app/Gmail.apk=com.google.android.gm package:/system/app/GoogleBackupTransport.apk=com.google.android.backup package:/system/app/GoogleCalendarSyncAdapter.apk=com.google.android.syncadapters.calendar package:/system/app/GoogleContactsSyncAdapter.apk=com.google.android.syncadapters.contacts package:/system/app/GoogleFeedback.apk=com.google.android.feedback package:/system/app/GoogleGoggles.apk=com.google.android.apps.unveil package:/system/app/GooglePartnerSetup.apk=com.google.android.partnersetup package:/system/app/GoogleQuickSearchBox.apk=com.google.android.googlequicksearchbox package:/system/app/GoogleServicesFramework.apk=com.google.android.gsf package:/system/app/HTMLViewer.apk=com.android.htmlviewer package:/system/app/HtcCopyright.apk=com.htc.copyright package:/system/app/HtcEmailPolicy.apk=com.android.email.policy package:/system/app/HtcSettings.apk=com.android.htcsettings package:/system/app/LatinImeGoogle.apk=com.google.android.inputmethod.latin package:/system/app/LatinImeTutorial.apk=com.google.android.latinimetutorial package:/system/app/Launcher2.apk=com.android.launcher2 package:/system/app/LiveWallpapers.apk=com.android.wallpaper package:/system/app/LiveWallpapersPicker.apk=com.android.wallpaper.livepicker package:/system/app/MagicSmokeWallpapers.apk=com.android.magicsmoke package:/system/app/MarketUpdater.apk=com.android.vending.updater package:/system/app/MediaProvider.apk=com.android.providers.media package:/system/app/MediaUploader.apk=com.google.android.apps.uploader package:/system/app/Mms.apk=com.android.mms package:/system/app/MusicGoogle.apk=com.android.music package:/system/app/NetworkLocation.apk=com.google.android.location package:/system/app/OneTimeInitializer.apk=com.google.android.onetimeinitializer package:/system/app/PackageInstaller.apk=com.android.packageinstaller package:/system/app/PassionQuickOffice.apk=com.qo.android.htcgep package:/system/app/Phone.apk=com.android.phone package:/system/app/PicoTts.apk=com.svox.pico package:/system/app/Protips.apk=com.android.protips package:/system/app/Settings.apk=com.android.settings package:/system/app/SettingsProvider.apk=com.android.providers.settings package:/system/app/SetupWizard.apk=com.android.setupwizard package:/system/app/SoundRecorder.apk=com.android.soundrecorder package:/system/app/Street.apk=com.google.android.street package:/system/app/Talk.apk=com.google.android.talk package:/system/app/TelephonyProvider.apk=com.android.providers.telephony package:/system/app/TtsService.apk=android.tts package:/system/app/Twitter.apk=com.twitter.android package:/system/app/UserDictionaryProvider.apk=com.android.providers.userdictionary package:/system/app/Vending.apk=com.android.vending package:/system/app/VisualizationWallpapers.apk=com.android.musicvis package:/system/app/VoiceDialer.apk=com.android.voicedialer package:/system/app/VoiceSearch.apk=com.google.android.voicesearch package:/system/app/VpnServices.apk=com.android.server.vpn package:/system/app/YouTube.apk=com.google.android.youtube package:/system/app/com.amazon.mp3.apk=com.amazon.mp3 package:/system/app/googlevoice.apk=com.google.android.apps.googlevoice package:/system/app/kickback.apk=com.google.android.marvin.kickback package:/system/app/soundback.apk=com.google.android.marvin.soundback package:/system/app/talkback.apk=com.google.android.marvin.talkback package:/system/framework/framework-res.apk=android