如果你搜到了這篇博客,那麼說明你一定有自己使用此outputs/app-debug.apk 的理由。我們通過點擊run 來自動生成此apk。
在run過程中,as會對apk使用debug簽名來進行簽名,所以我們直接在設備上安裝失敗的原因並不是簽名問題,而是通過as run後,as會在apk的AndroidManifest文件中自動添加android:testOnly屬性。正是由於這個屬性導致我們無法在設備上正常安裝。注意的是,在release目錄下生成的app-release-unsignd.apk沒有經過簽名。
方案一
解決方案也很簡單,我們可以在gradle.properties中添加 android.injected.testOnly 屬性,如圖:
方案二
可以根據官方文檔中介紹的方法,通過adb -t命令來安裝測試apk,adb命令如下:
zuomingjiedeMacBook-Pro:mapmobilitydemo-Android zuomingjie$ adb install -t /Users/zuomingjie/Desktop/app-debug.apk
Performing Streamed Install
Success
方案三
直接可以通過as build方式,來自動構建apk,我在as 3.4版本測試是沒有問題的。
方案四
網上很多說,直接在androidManifest中添加testOnly屬性,並配合replace 屬性,我試了下,沒有成功。
在manifest標籤添加:
xmlns:tools="http://schemas.android.com/tools"
在application標籤下添加:
tools:replace="android:testOnly"
android:testOnly="false"