• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android使用静默安装时碰见的问题,android静默

Android使用静默安装时碰见的问题,android静默

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了弟弟碰见爸爸时,街上碰见前任男友时,android 静默安装,android静默安装apk,android 静默升级等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android使用静默安装时碰见的问题,android静默


升级时碰见的异常

private void installPackage(String appName,final File apk) {
        if (!apk.exists()) {
            setHasNewVersion(appName,false);
            hideProgressDialog();
            return;
        }
        apk.setReadable(true, false);
        apk.setExecutable(true, false);
        
        //走完installPackage之后就结束了,回调observer内的代码是异步执行了
        final PackageManager pm = getPackageManager();
        PackageInstallObserver observer = new PackageInstallObserver(appName);
        Log.i(TAG, "install the apk begin : "+appName+";;getAbsolutePath="+apk.getAbsolutePath());
        pm.installPackage(
                Uri.parse("file://" + apk.getAbsolutePath()), observer,
                PackageManager.INSTALL_REPLACE_EXISTING, null);
    }
private class PackageInstallObserver extends IPackageInstallObserver.Stub {
        private String appname;
        public PackageInstallObserver(String appName) {
            appname=appName;
        }
        
        public void packageInstalled(final String packageName, int returnCode) {
            setHasNewVersion(appname,false);
            String appPath = getFilesDir().getAbsolutePath()+"/apps/"+appname+".apk";
            File apk = new File(getFilesDir(), appname+".apk");
            
            Log.i(TAG, "install is end and delete "+apk.getAbsoluteFile());
            apk.delete();
            hideProgressDialog();
            if(returnCode==1){
                installReturnCode=3;
            }else{
                if(returnCode<0){
                    installReturnCode=returnCode;
                }else{
                    installReturnCode=-123455;
                }
            }
            Log.i(TAG, "installReturnCode "+installReturnCode+"; packageName = "+packageName);
            new Thread(){
                public void run() {
                    postUpdateResult(packageName,appname,installReturnCode);//安装成功
                };
            }.start();
        }
    }

异常

W/asset ( 1245): Asset path /data/data/com.****.******/files/apps/pjlauncher.apk is neither a directory nor file (type=0).
W/DefContainer( 1245): Failed to parse package
W/ActivityManager( 535): No content provider found for permission revoke: file:///data/data/com.****.***/files/apps/*****.apk
D/dalvikvm( 535): GC_EXPLICIT freed 573K, 24% free 4589K/6028K, paused 2ms+3ms, total 35ms

I/AppUpgradeService( 1227): install is end and delete /data/data/com.****.******/files/apps/*****.apk

 

 

查了好半天有说是要添加权限的,有说是要在使用时给apk修改权限的,试了半天都没有效果。

最后修改了apk文件的下载存放路径,结果安装成功。

* 如果apk下载到这个目录/data/data/com.****.******/files/apps
* 会出现No content provider found for permission这个异常
* 如果是这个目录/data/data/com.****.******/files
* 则没有问题

 

感觉很奇怪我在其他机顶盒上测试的时候,即使是在/data/data/com.****.******/files/apps这个目录也可以顺利安装apk,但是换了一台机顶盒之后就不可以了

可能是不同机顶盒系统有差异吧!

 

ps:这个功能需要进行系统签名,以及配置android:sharedUserId="android.uid.system"

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android使用静默安装时碰见的问题,android静默

相关文章

  • 2017-05-222.4.5 ListView简单实用
  • 2017-05-26玩转Android---事件监听篇---第2篇,android---第2篇
  • 2017-05-26Android Butterknife 8.4.0 使用方法总结,butterknife8.4.0
  • 2017-05-26Android面试题(3),android面试题
  • 2017-05-26改变RadioButton的文字位置以及距离,radiobutton文字
  • 2017-05-223.8 Gestures(手势)
  • 2017-05-26精品干货丨APP常用导航框架,干货丨app导航
  • 2017-05-26添加页面切换动画, 避免冷启动
  • 2017-05-26Android学习第五篇——动画效果
  • 2017-05-26android.view.InflateException: Binary XML file line #34: Error inflating class,

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 阅读《Android 从入门到精通》(29)——LinearLayout 等四类方法
    • 第3章 用C#编写百度地图Android手机应用程序(第5讲),
    • Android 手机卫士--导航界面2,android卫士
    • Android实现按钮点击效果(第一次点击变色,第二次恢复),android按钮
    • linux命令之tcpdump
    • Butter Knife使用详解,butterknife
    • 2.4.1 ScrollView(滚动条)
    • Android基础部分再学习---activity的状态保存
    • Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset,n7.1.1headset
    • 张高兴的 Xamarin.Android 学习笔记:(四)常用控件,android常用控件

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有