Android adb安装apk时提示Invalid APK file的问题

 更新时间:2020年08月22日 10:55:16   作者:Kenway090704  
这篇文章主要介绍了Android adb安装apk时提示Invalid APK file的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

今天在使用adb命令安装apk时,无法安装成功,进入到android sdk 下的platform_tools下也是无法安装成功:

先贴一下我的调用过程

xu:~ xiaokai$ adb devices
List of devices attached
0123456789ABCDEF device

xu:~ xiaokai$ adb shell
shell@T36DH_CM3:/ $ pm install /Users/xiaokai/Downloads/app-release.apk 
 pkg: /Users/xiaokai/Downloads/app-release.apk
Failure [INSTALL_FAILED_INVALID_URI]
1|shell@T36DH_CM3:/ $ adb install /Users/xiaokai/Downloads/app-release.apk 
Invalid APK file: /Users/xiaokai/Downloads/app-release.apk
255|shell@T36DH_CM3:/ $ exit
xu:~ xiaokai$ adb install /Users/xiaokai/Downloads/app-release.apk 
[100%] /data/local/tmp/app-release.apk
 pkg: /data/local/tmp/app-release.apk
Success

adb devices

首先调用了adb devices,查看有没有可用的手机,`0123456789ABCDEF device`说明有可用的手机,

adb shell

然后进入手机,安装apk,

pm install /Users/xiaokai/Downloads/app-release.apk

发现出现问题,

exit

退出前手机 ,进入root目录

adb install /Users/xiaokai/Downloads/app-release.apk

进行安装,发现安装成功,网上查了一下,下面这篇文章介绍了一些这方面的问题

补充上面文章:adb安装apk报错Failure [INSTALL_FAILED_INVALID_URI]

今天在使用adb命令安装一个apk时,遇到一个问题,记录如下:

1、下载了一个demo.apk,放在D:\A_Download目录下。

2、手机连上电脑,开启USB调试权限。然后在电脑端启动cmd,输入以下命令:

C:\Users\leon>adb devices
List of devices attached
0123456789ABCDEF device

可以看出,手机已经成功连上。

3、输入adb shell命令,进入shell模式。然后使用install命令安装上述apk文件。但是提示失败:

C:\Users\leon>adb shell
shell@android:/ $ install D:\A_Download\demo.apk
BusyBox v1.20.2-jb bionic (2012-11-25 17:47 +0100) multi-call binary.

Usage: install [-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]... DEST

Copy files and set attributes

 -c Just copy (default)
 -d Create directories
 -D Create leading target directories
 -s Strip symbol table
 -p Preserve date
 -o USER Set ownership
 -g GRP Set group ownership
 -m MODE Set permissions

分析了一下,原来是忘记使用pm前缀(关于install命令要加pm前缀的分析,请参见另一篇文章:安卓adb命令中pm工具的作用及用法详解)。于是修改命令:

shell@android:/ $ pm install D:\A_Download\demo.apk
 pkg: D:A_Downloaddemo.apk
Failure [INSTALL_FAILED_INVALID_URI]

仍然提示失败!

经过反复的分析,我认为应该是因为adb命令下,无法识别windows目录信息导致。也就是说,adb命令无法识别此处的“D:\A_Download\demo.apk”目录。也正是因为这样,所以它给出的失败原因是INVALID_URI。

为了解决这个问题,其实办法很简单,只要退出adb shell的环境就好。于是输入exit命令回退到windows的cmd环境下,然后使用adb install命令,果然就成功了。

shell@android:/ $ exit

C:\Users\leon>adb install D:\A_Download\demo.apk
[100%] /data/local/tmp/demo.apk
 pkg: /data/local/tmp/demo.apk
Success

当然,上述思路只是我自己想当然的,必须验证一下是否真是这么回事。怎么验证呢?

如上所述,根据我的猜测,上述安装方式之所以会失败,是因为adb环境无法识别windows系统的目录格式。所以,如果我们提前把文件拷贝到手机中,然后再进入adb shell环境并install,免去shell环境识别windows目录格式的步骤,应该就能成功。

于是,我直接在cmd环境下把apk文件push到手机中,然后进入adb shell环境,运行pm install命令,果然成功了!

C:\Users\leon>adb push D:\A_Download\demo.apk sdcard/demo.apk
[100%] sdcard/demo.apk

C:\Users\leon>adb shell
shell@android:/ $ cd sdcard/
shell@android:/sdcard $ pm install demo.apk
 pkg: demo.apk
Success

所以,总之一句话,adb shell环境下,系统无法识别windows的目录格式,要么就退回到cmd环境下,要么就提前把windows的文件拷贝到手机中。类似的问题就不会再出现了!

搞定,收工!

以上这篇Android adb安装apk时提示Invalid APK file的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 简单实现Android端搜索框示例详解

    简单实现Android端搜索框示例详解

    这篇文章主要为大家介绍了简单实现Android端搜索框示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Andriod事件分发事件由来初识

    Andriod事件分发事件由来初识

    这篇文章主要为大家讲解了Andriod事件分发事件由来的初步认识,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 学习Android自定义Spinner适配器

    学习Android自定义Spinner适配器

    这篇文章主要为大家详细介绍了学习Android自定义Spinner适配器的相关资料,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Android选中突出背景效果的底部导航栏功能

    Android选中突出背景效果的底部导航栏功能

    这篇文章主要介绍了Android选中突出背景效果的底部导航栏功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Android实现购物车添加商品特效

    Android实现购物车添加商品特效

    这篇文章主要为大家详细介绍了Android实现购物车添加商品特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android超详细讲解组件AdapterView的使用

    Android超详细讲解组件AdapterView的使用

    AdapterView组件是一组重要的组件,AdapterView本身是一个抽象基类,它派生的子类在用法上十分相似,从AdapterView派生出的三个子类:AdsListView、AdsSpinner、AdapterViewAnimator,这3个子类依然是抽象的,实际运用时需要它们的子类
    2022-03-03
  • Android仿微信图片上传带加号且超过最大数隐藏功能

    Android仿微信图片上传带加号且超过最大数隐藏功能

    这篇文章给大家分享android仿照微信空间上传图片,显示图片数量以及超过最大,上传按钮隐藏功能,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-03-03
  • Android开发笔记之:在ImageView上绘制圆环的实现方法

    Android开发笔记之:在ImageView上绘制圆环的实现方法

    本篇文章是对Android中在ImageView上绘制圆环的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Android中方法数超限问题与启动优化详解

    Android中方法数超限问题与启动优化详解

    这篇文章主要给大家介绍了Android中方法数超限问题与启动优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • 利用kotlin实现一个饼图实例代码

    利用kotlin实现一个饼图实例代码

    饼状图是以不同颜色的圆的切片表示的值。下面这篇文章主要给大家介绍了关于利用kotlin实现一个饼图的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-12-12

最新评论