Android修改应用的默认安装位置

<span style="font-size:14px;"><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Google默认的PackageManager,会读取应用AndroidManifest.xml的对应定义</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">installLocation</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">:</span></span>

规则如下:

1.
如果没有定义安装位置,表示安装在手机内存上;

2. android:installLocation = "auto",先查看手机内存是否足够,如果够就安装在手机内存上,不够就安装在T 卡上;

3. android:installLocation = "internalOnly",表示安装在手机内存上;

4. android:installLocation = "preferExternal" ,表示安装在 T 卡上;

如何在设置中增加“选取应用安装位置”的功能,让用户选择默认的安装位置?

修改如下文件:

<span style="font-size:14px;">frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java</span>

做以下修改:

<span style="font-size:14px;">loadSetting(stmt, Global.SET_INSTALL_LOCATION, 0);</span>

改为:

<span style="font-size:14px;">loadSetting(stmt, Secure.SET_INSTALL_LOCATION, 1);</span>
<span style="font-size:14px;">loadSetting(stmt, Settings.Secure.SET_INSTALL_LOCATION, 0);</span>

改为:

<span style="font-size:14px;">loadSetting(stmt, Settings.Secure.SET_INSTALL_LOCATION, 1);</span>

这样修改之后,在设置>应用中会出现“选取应用安装位置”的功能,不过无论在这里选择什么,对于应用中AndroidManifest.xml文件中声明

<span style="font-size:14px;">android:installLocation = "internalOnly"</span>

的,该apk 都会安装到手机上,这样做的好处是避免程序运行错误,因为定义android:installLocation = "internalOnly" 的 apk 一般要安装到手机内存上才能正常运行。

时间: 2024-10-17 22:02:00

Android修改应用的默认安装位置的相关文章

修改 Android Studio 模拟器的默认安装位置

只需要在环境变量中配置 ANDROID_SDK_HOME 为你想要存放模拟器的位置即可 原文地址:https://www.cnblogs.com/GetcharZp/p/12202629.html

Git:修改Git Bash默认打开位置(win10)

1.起因 大家写的代码不可能直接保存在根目录下,但是Git Bash每次一打开就是根目录,每次都要切换路径很麻烦. 2.修改Git Bash默认打开位置 1)Git Bash右键 -> 属性 2)修改2栏内容 删除目标中的--cd-to-home 把起始位置改成自己的工作路径 3)重启Git Bash即可 原文地址:https://www.cnblogs.com/ZhengWH/p/10405728.html

用adb命令修改手机默认安装位置到SD卡

1.打开DOS命令行 ,输入adb,回车,可查看命令帮助. 2.adb devices 回车,显示设备列表: 每个设备实例的输出都有如下固定的格式: [serialNumber] [state] 022BTF7N43047029        device 037c708040609357        device adb -s 022BTF7N43047029 shell 回车,进入要操作的设备(当只有一个设备时,可直接输入 adb shell进入) (adb shell   命令意思: r

如何设置安卓手机软件的默认安装位置

1.通过ADB shell命令 下面为安卓4.4版本的adb shell命令 pm get-install-location: returns 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 pm set-instal

android数据储存之应用安装位置

原文地址:http://developer.android.com/guide/topics/data/install-location.html#Compatiblity 从API8開始,你能够将你的应用安装在外部储存.这是一个可选的特征,你能够在你的应用的manifest中声明:android:installLocation属性.假设你不声明这个属性,你的应用程序将会被安装在内部储存,而且不能被移到外置储存. <manifest xmlns:android="http://schema

Android如何编程设置APP安装位置(外部存储或内部存储)?

Beginning with API Level 8, you can allow your application to be installed on the external storage (for example, the device's SD card). This is an optional feature you can declare for your application with theandroid:installLocation manifest attrib

CentOS下mysql默认安装位置

如果采用RPM包安装,安装路径应在/usr/share/mysql目录下 mysqldump文件位置:/usr/bin/mysqldump mysqli配置文件: /etc/my.cnf或/usr/share/mysql/my.cnf mysql数据目录在/var/lib/mysql目录下 如果采用源代码安装,一般默认安装在/usr/local/mysql目录下

Android修改横屏的默认角度为顺时针270度

默认的横屏角度是顺时针90度,修改为顺时针270度,即是逆时针90度. 1.查看相关逻辑,可以看到有个布尔值com.android.internal.R.bool.config_reverseDefaultRotation控制翻转: frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @Override public void setInitialDisplaySize(Displ

修改 Jupyter Notebook 默认保存位置

一般来说,安装好 Jupyter Notebook 后,新建的文档默认保存在C盘,由于以前win7系统崩溃,保存在C盘的文档全部无法读取,此后,我都尽量避免将重要文档保存在C盘. 第一步: 第二步: 点击 Jupyter Notebook 图标 --> 属性(R)--> 第三步: 原文地址:https://www.cnblogs.com/xiangsui/p/9638099.html