Android 如何仅在sd卡上安装apk?

Android 如何仅在sd卡上安装apk?,android,installation,apk,Android,Installation,Apk,我正在尝试仅在sd卡上安装apk。我可以安装低于某个文件大小的APK,但超过某个文件大小的APK只能安装在内存中。(我需要安装到sd卡) /mnt/security/asec中没有tmp文件 # ls /mnt/secure/asec ls /mnt/secure/asec com.home.version2-2.asec 尝试“adb安装-r-s版本1 debug.apk”时的日志 尝试“adb安装-r-s版本2调试.apk”时的日志 我想知道这是否与sd卡的格式有关。我已在windows

我正在尝试仅在sd卡上安装apk。我可以安装低于某个文件大小的APK,但超过某个文件大小的APK只能安装在内存中。(我需要安装到sd卡)

/mnt/security/asec中没有tmp文件

# ls /mnt/secure/asec
ls /mnt/secure/asec
com.home.version2-2.asec

尝试“adb安装-r-s版本1 debug.apk”时的日志

尝试“adb安装-r-s版本2调试.apk”时的日志


我想知道这是否与sd卡的格式有关。我已在windows 7上使用FAT和默认分配大小格式化sd卡。有什么遗漏吗?

要将.apk文件安装到SD卡中,请在清单文件中使用下面的标记

android:installLocation=“preferExternal”


如果您声明“preferExternal”,则您请求将应用程序安装在外部存储上,但系统不保证将应用程序安装在外部存储上。如果外部存储器已满,系统将在内部存储器上安装它。用户还可以在两个位置之间移动应用程序

如果您声明“auto”,则表示您的应用程序可能安装在外部存储器上,但您没有安装位置的首选项。系统将根据几个因素决定在何处安装应用程序。用户还可以在两个位置之间移动应用程序

欲知详情

要将.apk文件安装到SD卡中,请在清单文件中使用以下标记

android:installLocation=“preferExternal”


如果您声明“preferExternal”,则您请求将应用程序安装在外部存储上,但系统不保证将应用程序安装在外部存储上。如果外部存储器已满,系统将在内部存储器上安装它。用户还可以在两个位置之间移动应用程序

如果您声明“auto”,则表示您的应用程序可能安装在外部存储器上,但您没有安装位置的首选项。系统将根据几个因素决定在何处安装应用程序。用户还可以在两个位置之间移动应用程序

欲知详情
我也面临同样的问题。检查内核中是否启用了设备映射器

adb外壳->/dev/device mapper


我也面临同样的问题。检查内核中是否启用了设备映射器

adb外壳->/dev/device mapper


根据文档,adb安装-s还确保它进入外部存储。在尝试安装较大的apk时,将preferExternal添加到清单门槛会出错。感谢~adb install-r-s version1-debug.apk 3508 KB/s(10.655s中的38278514字节)pkg:/sdcard/tmp/version1-debug.apk Failure[install_FAILED_CONTAINER_ERROR]根据文档,adb install-s还确保它进入外部存储器。在尝试安装较大的apk时,将preferExternal添加到清单门槛会出错。感谢~adb install-r-s version1-debug.apk 3508 KB/s(10.655s中38278514字节)pkg:/sdcard/tmp/version1-debug.apk失败[安装失败\容器错误]
I/PackageHelper( 5663): Size of container 40 MB
W/ActivityManager( 5127): No content provider found for permission revoke: file:///sdcard/tmp/version1-debug.apk
D/VoldCmdListener( 1461): asec list
D/VoldCmdListener( 1461): asec create smdl2tmp1 40 fat {} 10009
W/logwrapper(28481): Unable to background process (No such file or directory)
I//system/bin/newfs_msdos( 1461): /system/bin/newfs_msdos: warning, /dev/block/dm-0 is not a character device
I//system/bin/newfs_msdos( 1461): /system/bin/newfs_msdos: Skipping mount checks
I//system/bin/newfs_msdos( 1461): Bogus heads from kernel - setting sane value
I//system/bin/newfs_msdos( 1461): Bogus sectors from kernel - setting sane value
I//system/bin/newfs_msdos( 1461): /system/bin/newfs_msdos: 2599 clusters too few clusters for FAT16, need 4096
I/logwrapper( 1461): /system/bin/newfs_msdos terminated by exit(1)
E/Vold    ( 1461): Format failed (unknown exit code 1)
E/Vold    ( 1461): ASEC FAT format failed (I/O error)
I/PackageHelper( 5663): Size of container 20 MB
W/ActivityManager( 5127): No content provider found for permission revoke: file:///sdcard/tmp/version2-debug.apk
D/VoldCmdListener( 1461): asec list
D/VoldCmdListener( 1461): asec create smdl2tmp1 20 fat {} 10009
W/logwrapper(28562): Unable to background process (No such file or directory)
I//system/bin/newfs_msdos( 1461): /system/bin/newfs_msdos: warning, /dev/block/dm-0 is not a character device
I//system/bin/newfs_msdos( 1461): /system/bin/newfs_msdos: Skipping mount checks
I//system/bin/newfs_msdos( 1461): Bogus heads from kernel - setting sane value
I//system/bin/newfs_msdos( 1461): Bogus sectors from kernel - setting sane value
I//system/bin/newfs_msdos( 1461): /dev/block/dm-0: 41600 sectors in 1300 FAT12 clusters (16384 bytes/cluster)
I//system/bin/newfs_msdos( 1461): bps=512 spc=32 res=1 nft=2 rde=512 sec=41643 mid=0xf0 spf=4 spt=63 hds=64 hid=0
I/Vold    ( 1461): Filesystem formatted OK
D/VoldCmdListener( 1461): asec path smdl2tmp1
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:installLocation="preferExternal"
    ... >