坑系列(三)AS build出的APK無法安裝?

如果你搜到了這篇博客,那麼說明你一定有自己使用此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"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章