Android强制指定安装目录

原创 2017年09月13日 20:24:47
+++ b/frameworks/base/core/java/android/content/pm/PackageParser.java
@@ -194,7 +194,8 @@ public class PackageParser {

     private static boolean sCompatibilityModeEnabled = true;
     private static final int PARSE_DEFAULT_INSTALL_LOCATION =
-            PackageInfo.INSTALL_LOCATION_UNSPECIFIED;
+          PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL;            
+//     PackageInfo.INSTALL_LOCATION_UNSPECIFIED;

     static class ParsePackageItemArgs {
         final Package owner;
@@ -1280,8 +1281,9 @@ public class PackageParser {
         for (int i = 0; i < attrs.getAttributeCount(); i++) {
             final String attr = attrs.getAttributeName(i);
             if (attr.equals("installLocation")) {
-                installLocation = attrs.getAttributeIntValue(i,
-                        PARSE_DEFAULT_INSTALL_LOCATION);
+           //     installLocation = attrs.getAttributeIntValue(i,
+           //             PARSE_DEFAULT_INSTALL_LOCATION);
+                 installLocation = PARSE_DEFAULT_INSTALL_LOCATION;
             } else if (attr.equals("versionCode")) {
                 versionCode = attrs.getAttributeIntValue(i, 0);
             } else if (attr.equals("revisionCode")) {
@@ -1401,9 +1403,10 @@ public class PackageParser {
                     com.android.internal.R.styleable.AndroidManifest_sharedUserLabel, 0);
         }

-        pkg.installLocation = sa.getInteger(
-                com.android.internal.R.styleable.AndroidManifest_installLocation,
-                PARSE_DEFAULT_INSTALL_LOCATION);
+//        pkg.installLocation = sa.getInteger(
+//                com.android.internal.R.styleable.AndroidManifest_installLocation,
+//                PARSE_DEFAULT_INSTALL_LOCATION);
+       pkg.installLocation = PARSE_DEFAULT_INSTALL_LOCATION;
         pkg.applicationInfo.installLocation = pkg.installLocation;

         pkg.coreApp = attrs.getAttributeBooleanValue(null, "coreApp", false);
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android应用程序的安装位置

从API Level8以后,android允许将应用程序安装在外部空间,之前则只能安装到内部空间。 一、安装到外部空间的特点 二、安装路径选择的策略 它由多方面的因素影响,包括应用本身的设置、安装应用...
  • y658t
  • y658t
  • 2014年03月01日 13:18
  • 1858

Android disable strictmode

diff --git a/device/rockchip/rk3288/system.prop b/device/rockchip/rk3288/system. index 2d07b0d..db41...

Android修改屏幕密度

diff --git a/device/rockchip/rk3288/system.prop b/device/rockchip/rk3288/system.prop index efeb5d3.....

Android NDK开发(九)——应用监听自身卸载升级版,使用Inotify监听安装目录

在上一篇博客中,我们讲了一个小小的案例,用NDK监听应用程序自身卸载,并且打开内置浏览器加载用户调用页面。关于监听应用程序自身卸载的原理和实现方案可以在上篇博客中找到,地址是:http://blog....

android应用程序安装目录及android开发相关

1,第3方android应用程序的安装目录默认在/data/app/下,可以看到此目录下有很多apk文件; 2,系统提供的应用程序安装在/system/app/下,同样在这里可以看到很多apk文件; ...

NodeJS、npm安装配置,指定npm安装目录,可移植的node以及模块

1、首先我们要到nodejs官网(https://nodejs.org)上下载node,选择一个自己喜欢的版本下载。我这里选择的是最新版2、下载完了就直接双击安装,安装过程中可以另外指定安装路径,我的...

linux 手工自动安装mysql最新版本tar包步骤(随意指定安装目录且不分散)

操作必须是root权限,可以sudo su提升1. 完全卸载之前安装的所有的mysql,以及配置文件等等2. 使用命令 uname -a 查看linux的版本,注意是32位还是64位的3. 到mysq...
  • qidizi
  • qidizi
  • 2013年03月28日 16:48
  • 3132

Android sdk安装目录中没有platform-tools目录问题详解

sdk下载地址 http://tools.android-studio.org/index.php/sdk 安装步骤很简单,百度即可。   下面详细说一下,在安装中遇到and...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android强制指定安装目录
举报原因:
原因补充:

(最多只允许输入30个字)