天天看點

Unity2019使用Android Studio 4出安卓包

前言

在我所經曆的項目組中有這幾種方法來生成APK

  1. 直接在Unity生成APK,可以接入SDK
  2. 使用Unity導出Android Studio工程手動生成APK
  3. 使用Unity導出Android Studio工程指令行離線生成APK

這裡記錄一下我在項目組使用Android Studio出包的筆記。

使用Unity導出Android Studio工程前建議檢視我之前的文章《Unity2019及Unity2020打包android的環境配置》,主要介紹替換或修改Unity安裝目錄下的baseProjectTemplate.gradle,把連結指向國内能加快速度。

說明:我把Android Studio簡稱為AS,AS生成APK使用gradle來建構。

準備知識:

  • 通過Unity導出的Android Studio和Google安卓原生工程的結構圖對比
  • 不同版本的Unity要求的NDK版本和兩者對應關系表(Unity NDK Version Match)
  • Unity2019使用Gradle指令行(編譯)出安卓包

說明:在AS生成apk,as會根據配置幫你下載下傳gradle和其它依賴檔案,如果你不使用指令行,則不需要手動下載下傳和配置gradle到環境變量中。

我打包使用的軟體環境:

  • Unity版本:2019.3.7f1
  • Android Studio 4.1.3
  • Jdk:1.8.0_181
  • ndk:https://dl.google.com/android/repository/android-ndk-r19-windows-x86_64.zip
  • win10 企業版 ltsc 1809

Unity導出Android Studio工程

使用Unity導出Android Studio工程,需要的環境:JDK,Android SDK,NDK(IL2CPP必須要NDK,但是導出Mono的包則不需要NDK)

NDK官網下載下傳:https://developer.android.google.cn/ndk/downloads/

不同版本的Unity需要的ndk版本也不相同,比如2018.4需要ndk-r16b,而2019.3則需要ndk-r19,注意大小版本号要完全一緻。

關于Unity不同版本要求的NDK版本,可以見這篇文章《不同版本的Unity要求的NDK版本和兩者對應關系表(Unity NDK Version Match)》

Unity2019使用Android Studio 4出安卓包

Unity所需要的gradle版本關系

在unity安裝目錄下的 baseProjectTemplate.gradle 中可以修改android gradle plugin version

Unity version Gradle version
2020.1 5.6.4
2018.4 starting from 2018.4.4f1 2019.1 starting from 2019.1.7f1, 2019.2, 2019.3, and 2019.4 5.1.1
2018.3, 2018.4 up to and including 2018.4.3f1 2019.1 up to and including 2019.1.6f1 4.6
2018.2 4.2.1
2018.1 4.0.1
2017.4, starting from 2017.4.17
2017.4 up to and including 2017.4.16
2017.1, 2017.2 2.14

使用Android Studio生成APK

  1. 使用Android Studio打開工程
  2. 點選 Build -> Generate Signed Bundle/APK ,然後選擇APK
  3. 選擇keystore和輸入密碼
  4. Build Type選擇Release,Signature Versions,v1必須勾選,V2建議勾選
  5. 等待AS build完成,根據電腦組態所需要的時間不同
  6. 出現BUILD_SUCCESS ,就生成成功了,生成的APK放在:項目工程release\xxx-release.apk

Signature Versions中V1和V2

如果生成的APK在模拟器上無法安裝,嘗試隻勾選V1

有關 Signature Versions中V1和V2的資料:《Android Studio 打包時 Signature Version V1 V2》

經測試:隻勾選了V2,在MUMU模拟器上無法安裝APK,而在安卓11的手機上是可以安裝的。這是因為V2隻對安卓7以上系統有效,而模拟器的安卓版本一版都比較低,比如mumu的安卓6