android 程序怎么默认或者说允许安装到sd卡

狄默默斯基 2012-05-21 01:52:25
自己写了个apk程序嘛

安装 默认装在内存里

而且优化大师也不能移动它到sd卡

怎么回事


应该怎么做
...全文
905 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fire_fire_fire 2012-05-21
  • 打赏
  • 举报
回复
android:installLocation可以设置为"auto"、"internalOnly"、"preferExternal"三个值中的任何一个.

  auto:程序可能被安装在外部存储介质上(例如:SD Card),但是默认会被安装到手机内存中.当手机内存为空时,程序将被安装到外部存储介质上.当程序安装到手机上后,用户      可以决定把程序放在外部储介质还是内存中.

  internalOnly:默认值.当设置为该值时,程序只能被安装在内存中,如果内存为空,则程序将不能成功安装.

  preferExternal:将程序安装在外部存储介质上,但是系统不保证程序一定会被安装到外部存储介质上.当外部存储介质不可以或空时,程序将被安装到内存中.程序使用了for      ward-locking机制时也将被安装到内存中,因为外部存储不支持此机制.程序安装后,用户可以自由切换程序应该在外部还是内部存储介质上.

注意:当程序使用了Google Play的Copy Protection特性时,只能安装到内存中.

当程序被安装到外部存储介质时,

① .apk文件将被移动到外部存储介质上,但是程序的数据仍然会在内存中

② 保存.apk文件的容器将会使用一个随机生成的密钥进行加密,这样只有安装该程序的设置可以使用存在外部存储介质上的数据.

警告:当外部存储介质被卸载时,安装在该外部存储介质上的程序将立刻被终止掉!
引用自:http://www.cnblogs.com/Lefter/archive/2012/03/07/2383962.html
fire_fire_fire 2012-05-21
  • 打赏
  • 举报
回复
要声明权限

1. <android>
2. <manifestAdditions>
3. <![CDATA[
4. <manifest android:installLocation="auto">
5. <uses-permission android:name="android.permission.INTERNET"/>
6. </manifest>
7. ]]>
8. </manifestAdditions>
9. </android>

其中: android:installLocation="auto"代表默认安装到内置存储器中,但是允许用户把它转移到SD卡上。
而如果需要默认安装在SD卡上,只需要

<manifest android:installLocation="preferExternal">...</manifest>

不过提醒你,安装在SD卡上有时候会出现莫名的问题

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧