Android adb安裝apk時提示Invalid APK file的問題
今天在使用adb命令安裝apk時,無法安裝成功,進入到android sdk 下的platform_tools下也是無法安裝成功:
先貼一下我的調(diào)用過程
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
首先調(diào)用了adb devices,查看有沒有可用的手機,`0123456789ABCDEF device`說明有可用的手機,
adb shell
然后進入手機,安裝apk,
pm install /Users/xiaokai/Downloads/app-release.apk
發(fā)現(xiàn)出現(xiàn)問題,
exit
退出前手機 ,進入root目錄
adb install /Users/xiaokai/Downloads/app-release.apk
進行安裝,發(fā)現(xiàn)安裝成功,網(wǎng)上查了一下,下面這篇文章介紹了一些這方面的問題
補充上面文章:adb安裝apk報錯Failure [INSTALL_FAILED_INVALID_URI]
今天在使用adb命令安裝一個apk時,遇到一個問題,記錄如下:
1、下載了一個demo.apk,放在D:\A_Download目錄下。
2、手機連上電腦,開啟USB調(diào)試權限。然后在電腦端啟動cmd,輸入以下命令:
C:\Users\leon>adb devices List of devices attached 0123456789ABCDEF device
可以看出,手機已經(jīng)成功連上。
3、輸入adb shell命令,進入shell模式。然后使用install命令安裝上述apk文件。但是提示失?。?/p>
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]
仍然提示失??!
經(jīng)過反復的分析,我認為應該是因為adb命令下,無法識別windows目錄信息導致。也就是說,adb命令無法識別此處的“D:\A_Download\demo.apk”目錄。也正是因為這樣,所以它給出的失敗原因是INVALID_URI。
為了解決這個問題,其實辦法很簡單,只要退出adb shell的環(huán)境就好。于是輸入exit命令回退到windows的cmd環(huán)境下,然后使用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
當然,上述思路只是我自己想當然的,必須驗證一下是否真是這么回事。怎么驗證呢?
如上所述,根據(jù)我的猜測,上述安裝方式之所以會失敗,是因為adb環(huán)境無法識別windows系統(tǒng)的目錄格式。所以,如果我們提前把文件拷貝到手機中,然后再進入adb shell環(huán)境并install,免去shell環(huán)境識別windows目錄格式的步驟,應該就能成功。
于是,我直接在cmd環(huán)境下把apk文件push到手機中,然后進入adb shell環(huán)境,運行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環(huán)境下,系統(tǒng)無法識別windows的目錄格式,要么就退回到cmd環(huán)境下,要么就提前把windows的文件拷貝到手機中。類似的問題就不會再出現(xiàn)了!
搞定,收工!
以上這篇Android adb安裝apk時提示Invalid APK file的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android開發(fā)之圖片旋轉功能實現(xiàn)方法【基于Matrix】
這篇文章主要介紹了Android開發(fā)之圖片旋轉功能實現(xiàn)方法,結合實例形式分析了Android基于matrix矩陣操作圖形變換的相關實現(xiàn)技巧,需要的朋友可以參考下2017-09-09Android自定義DataTimePicker日期時間選擇器使用詳解
這篇文章主要為大家詳細介紹了Android自定義DataTimePicker日期時間選擇器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09解決Android SurfaceView繪制觸摸軌跡閃爍問題的方法
這篇文章主要為大家詳細介紹了解決Android SurfaceView繪制觸摸軌跡閃爍問題的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-03-03Eclipse工程轉為兼容Android Studio模式的方法步驟圖文詳解
這篇文章主要介紹了Eclipse工程轉為兼容Android Studio模式的方法步驟,本文圖文并茂給大家介紹的非常詳細,需要的朋友可以參考下2017-12-12Android之使用Android-query框架開發(fā)實戰(zhàn)(一)
這篇文章主要介紹了Android之使用Android-query框架開發(fā)實戰(zhàn)(一)的相關資料,需要的朋友可以參考下2015-10-10Android studio 3.0上進行多渠道打包遇到的問題小結(超簡潔版)
這篇文章主要介紹了Android studio 3.0上進行多渠道打包遇到的問題小結(超簡潔版),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11