背景:
前幾天測試找我拿測試包范抓,我直接打包了個debug包用QQ丟給了他,本以為可以下班吃飯了岸蜗,結果測試跑過來跟我說尉咕,你這包有問題啊,怎么一直裝不上璃岳?“怎么可能!天才的我一直都可以裝上盎诖贰铃慷!” “不信你過來看看”,然后測試在鍵盤上敲著熟悉的adb install ......蜕该,然后突然冒出:“Failur[INSTALL_FAILED_TEST_ONLY: installPackageLI]”犁柜。一開始我也不知道什么原因,就一直打著release包(裝著本地服務數據)堂淡,但是幾次下來我蛋疼了馋缅,本來電腦運行就慢扒腕。后邊我開始不耐煩了,開始查找原因萤悴。于是才有了下面的解決方案瘾腰,可以供跟我遇到一樣困惑的猿猿們參考。
向測試大佬拿的圖
導致產生這個問題得原因:
Android Studio 3.0的時候為了不讓開發(fā)者開發(fā)的測試包暴露自身的功能和數據覆履,測試包只能通過IDE的run方式進行安裝蹋盆,或者通過測試的方式用adb install -t 進行安裝,會在debug的apk包的manifest文件application標簽里自動添加android:testOnly="true"屬性硝全。對于testOnly的作用大家可以查看鏈接https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html
?如果想在手機上安裝測試包的話栖雾,目前有兩種解決辦法:
第一種:直接在項目的根目錄下找到gradle.properties文件,添加一下這行代碼
android.injected.testOnly=false
?第二種:采用adb的命令伟众,說明該adb只供測試使用
?adb -t install [apk]
注意:網上有些朋友說在清單文件的application中添加android:testOnly="false"屬性析藕,但是我嘗試過了,這個沒有用凳厢。