adb install 報(bào)錯(cuò)大全以及解決方法

在android開(kāi)發(fā)調(diào)試過(guò)程中贬媒,使用adb install 會(huì)經(jīng)常報(bào)各種安裝錯(cuò)誤聋亡,install報(bào)錯(cuò)有多少種類型呢?我們可以通過(guò)查看android源碼來(lái)確認(rèn)報(bào)錯(cuò)種類际乘,查看android源碼杀捻,進(jìn)入frameworks/base/core/java/android/content/pm目錄,打開(kāi)PackageManager.java蚓庭。文件中聲明了各種報(bào)錯(cuò)的類型以及Error code致讥。
本文對(duì)adb install的報(bào)錯(cuò)類型全部列舉出來(lái)并提供解決方案,供大家參考解決器赞。

INSTALL_FAILED_ALREADY_EXISTS = -1;
解釋:apk已經(jīng)存在垢袱。
解決:adb install -r 強(qiáng)制安裝

INSTALL_FAILED_INVALID_APK = -2;
解釋: 無(wú)效的apk
解決: 排查方式與INSTALL_FAILED_INVALID_URI 類似

INSTALL_FAILED_INVALID_URI = -3;
解釋:無(wú)效的apk uri路徑
解決:可能的原因

  1. 文件路徑有問(wèn)題,比如輸入絕對(duì)路徑/文件路徑是否有空格港柜,符號(hào)半角全角問(wèn)題请契。
  2. 文件權(quán)限問(wèn)題,chmod更改文件權(quán)限夏醉。

INSTALL_FAILED_INSUFFICIENT_STORAGE = -4;
解釋:系統(tǒng)空間不足爽锥,無(wú)法安裝apk
解決:清理系統(tǒng)空間

INSTALL_FAILED_DUPLICATE_PACKAGE = -5;
解釋: 重復(fù)報(bào)名,表示系統(tǒng)中已存在相同的報(bào)名apk
解決: 卸載系統(tǒng)中重復(fù)包名畔柔,或者更改自己的apk包名

INSTALL_FAILED_NO_SHARED_USER = -6;
解釋:缺少shareduserdid

INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7;
解釋:安裝的apk與系統(tǒng)中已存在的apk簽名不兼容
解決:重新給apk進(jìn)行簽名,或者卸載掉系統(tǒng)中的簽名沖突的apk氯夷。

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8;
解釋:安裝apk的sharedUserId系統(tǒng)中已存在的apk不同,導(dǎo)致不能兼容覆蓋安裝
解決:
方法1:
查看Androidmanifest中android:sharedUserId信息,修改與之前apk的sharedUserId相同靶擦。
方法2:
卸載系統(tǒng)中的apk腮考,再安裝雇毫。

INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9;
解釋:打包的apk缺少shared library庫(kù)
解決:在AndroidManifest中添加
<uses-library android:name="xxx" android:required="false"/> </application>
將如下的文件xml拷貝到/system/permission/下,注意文件權(quán)限

 <?xml version="1.0" encoding="utf-8"?>    
  <permissions>      
      <library name="xxx"      
           file="/system/framework/xxx.jar"/>   
   </permissions>  

INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10;
解釋:library庫(kù)替換時(shí)無(wú)法刪除

INSTALL_FAILED_DEXOPT = -11;
解釋:apk預(yù)編譯錯(cuò)誤踩蔚,缺少dex或者是空間不足導(dǎo)致
解決:多存在源碼編譯apk出現(xiàn)棚放,源碼編譯apk選擇了預(yù)編譯,優(yōu)化dex馅闽,導(dǎo)致apk里面沒(méi)有dex飘蚯。需要去除apk的預(yù)編譯。

INSTALL_FAILED_OLDER_SDK = -12;
解釋:系統(tǒng)的Android版本過(guò)低了福也,apk不支持
解決:修改app目錄下的“build.gradle”文件孝冒,將其中的minSdkVersion 、targetSdkVersion 修改后保持跟設(shè)備的android API版本一致拟杉。

INSTALL_FAILED_CONFLICTING_PROVIDER = -13;
解釋:檢查應(yīng)用的provider的唯authority屬性與系統(tǒng)中其他應(yīng)用provider authority屬性命令相同庄涡,產(chǎn)生沖突并且安裝失敗。
解決:修改provider的authority命名

INSTALL_FAILED_NEWER_SDK = -14;
解釋:系統(tǒng)的Android版本過(guò)高搬设,apk不支持
解決:apk需要適配高版本的Android設(shè)備

INSTALL_FAILED_TEST_ONLY = -15;
解釋:apk為測(cè)試版本
解決:安裝加 -t 參數(shù)穴店,adb install -t *.apk

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16;
解釋:安裝的APK文件arm指令格式與模擬器/真機(jī)的CPU架構(gòu)上不兼容
解決:安裝到兼容的cpu模擬器/真機(jī),或者apk的so庫(kù)適配對(duì)應(yīng)的cpu arm架構(gòu)拿穴。

INSTALL_FAILED_MISSING_FEATURE = -17;
使用了一個(gè)無(wú)效的特性

INSTALL_FAILED_CONTAINER_ERROR = -18;
解釋:SD卡訪問(wèn)失敗泣洞,早期的 android設(shè)備版本會(huì)出現(xiàn)類似問(wèn)題。

INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19;
解釋:無(wú)效的安裝路徑

INSTALL_FAILED_MEDIA_UNAVAILABLE = -20;
解釋:Android應(yīng)用安裝位置當(dāng)前不可用默色,早期android設(shè)備會(huì)出現(xiàn)類似問(wèn)題

INSTALL_FAILED_VERIFICATION_TIMEOUT = -21;
解釋:apk 安裝驗(yàn)證超時(shí)

INSTALL_FAILED_VERIFICATION_FAILURE = -22;
解釋:安裝驗(yàn)證失敗
解決:打開(kāi)android設(shè)備的未知來(lái)源應(yīng)用安裝開(kāi)關(guān)球凰。

INSTALL_FAILED_PACKAGE_CHANGED = -23;
解釋:應(yīng)用被改變了,檢測(cè)到應(yīng)用的codePath或者ResourcePath改變了

INSTALL_FAILED_UID_CHANGED = -24;
解釋:新安裝的包分配了一個(gè)不同的UID
解決:卸載app腿宰,并刪除系統(tǒng)中的殘留文件和文件夾呕诉,如/data/data,/data/app/, system/app/等目錄中包含app殘留文件吃度。

INSTALL_FAILED_VERSION_DOWNGRADE = -25;
解釋:安裝apk的VersionCode低于系統(tǒng)內(nèi)的
解決:更改VersionCode

INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26;
解釋:新安裝的apk target SDK 較之前的apk低甩挫。
解決:修改targetSdkVersion

INSTALL_PARSE_FAILED_NOT_APK = -100;
解釋:非apk文件

INSTALL_PARSE_FAILED_BAD_MANIFEST = -101;
解釋:無(wú)法解析的 AndroidManifest.xml 文件

INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102;
解釋:apk安裝異常錯(cuò)誤

INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103;
解釋:缺少簽名或者簽名方式有問(wèn)題
解決:打開(kāi)應(yīng)用,查看META-INF 目錄下查看是否有CERT.RSA文件椿每。修改build.gradle重新簽名伊者。
另外一種情況:Android N后apk增加了v2簽名,查看apk是否v1间护,V2簽名都有亦渗。android N以下設(shè)備如果安裝只有V2簽名的apk,則會(huì)報(bào)該錯(cuò)汁尺,需要將apk法精,V1,V2都簽名。

INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104;
解釋:簽名沖突
解決:卸載系統(tǒng)中的apk亿虽,再重新安裝菱涤。

INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105;
解釋:簽名編碼問(wèn)題
解決:查看簽名格式是否合法正確

INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106;
解釋:apk里使用了無(wú)效的包名
解決:檢查包名命令是否合法苞也,比如多余的空格,下劃線等洛勉。

INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107;
解釋:無(wú)效的shareduserId,shareduserid值有問(wèn)題如迟。
解決:查看Androidmanifest中usersharedid的定義是否有問(wèn)題收毫。

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108;
解釋:MALFORMED,畸形的殷勘。Manifest是無(wú)效的文件
解決:查看AndroidManifest是否有問(wèn)題此再。檢查manifest的元素和屬性的命令是否規(guī)范

INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109;
解釋:Manifest是空的

INSTALL_FAILED_INTERNAL_ERROR = -110;
解釋:系統(tǒng)問(wèn)題導(dǎo)致安裝失敗
解決:模擬器空間不足

INSTALL_FAILED_USER_RESTRICTED = -111;
解釋:用戶權(quán)限問(wèn)題,無(wú)法安裝
解決:android手機(jī)的調(diào)試權(quán)限問(wèn)題玲销,把usb調(diào)試權(quán)限打開(kāi)输拇。一般手機(jī)的usb調(diào)試權(quán)限在隱藏的開(kāi)發(fā)者模式菜單項(xiàng)目里面。

INSTALL_FAILED_DUPLICATE_PERMISSION = -112;
解釋:androidmanifest存在重復(fù)定義的permission

INSTALL_FAILED_NO_MATCHING_ABIS = -113;
解釋:應(yīng)用的so庫(kù)贤斜,沒(méi)有匹配的CPU指令集架構(gòu)
解決:build.gradle中添加不同的cpu abi體系策吠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瘩绒,隨后出現(xiàn)的幾起案子猴抹,更是在濱河造成了極大的恐慌,老刑警劉巖锁荔,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蟀给,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡阳堕,警方通過(guò)查閱死者的電腦和手機(jī)跋理,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)恬总,“玉大人薪介,你說(shuō)我怎么就攤上這事≡阶ぃ” “怎么了汁政?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)缀旁。 經(jīng)常有香客問(wèn)我记劈,道長(zhǎng),這世上最難降的妖魔是什么并巍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任目木,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刽射。我一直安慰自己军拟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布誓禁。 她就那樣靜靜地躺著懈息,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摹恰。 梳的紋絲不亂的頭發(fā)上辫继,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音俗慈,去河邊找鬼姑宽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛闺阱,可吹牛的內(nèi)容都是我干的炮车。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼酣溃,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瘦穆!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起救拉,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤难审,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后亿絮,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體告喊,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年派昧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了黔姜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒂萎,死狀恐怖秆吵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情五慈,我是刑警寧澤纳寂,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站泻拦,受9級(jí)特大地震影響毙芜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜争拐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一腋粥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦隘冲、人聲如沸闹瞧。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奥邮。三九已至,卻和暖如春纵竖,著一層夾襖步出監(jiān)牢的瞬間漠烧,已是汗流浹背杏愤。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工靡砌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人珊楼。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓通殃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親厕宗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子画舌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容