一 Unity里面配置Android運(yùn)行環(huán)境
1.1 首先unity需要集成android編譯環(huán)境,點(diǎn)擊FIle->Build Settings
1.2 沒(méi)是否有Android模塊,沒(méi)的話先下載Android模塊
1.3 按下面的操作,下載Android支持,SDK,NDK,和JDK
1.4 如果之前AndroidStudio配置有這些,可以不用下載,進(jìn)行配置就行,Edit->Preferences
1.5 選擇External Toos選項(xiàng),往下拉出現(xiàn)SDK相關(guān)配置,我們選擇本地路徑就可以了
有可以在AndroidStudio里面管理SDK版本
二 編譯運(yùn)行Android
2.1? 點(diǎn)擊File -> Build Setting -> Player Settings,進(jìn)入項(xiàng)目配置頁(yè)面
2.2 找到Player -> Android模塊,配置圖標(biāo),方向,發(fā)布包名等信息
屏幕放向
2.3 退出到Build Settings,點(diǎn)擊Build或者Build Run
可以在目錄文件生成一個(gè)未簽名的apk
三 unity對(duì)android項(xiàng)目簽名
3.1 上面只是編譯了未簽名的包,這是不安全的包,上不了應(yīng)用市場(chǎng),所以需要對(duì)apk進(jìn)行簽名發(fā)布。選擇Project Setting選項(xiàng)的publish,進(jìn)行密鑰管理,可以新建或者選擇本地密鑰
3.2? 那就新建一個(gè),填寫(xiě)密鑰信息
?3.3 點(diǎn)擊add Key就配置上了密鑰密鑰,選擇Release正式包
3.4 還需要配置包名信息,包名是項(xiàng)目的唯一標(biāo)識(shí),非常重要。在Other Setting里面找到Identification的位置,填寫(xiě)包名,版本。
3.5 注意,默認(rèn)只支持ARMV7架構(gòu),可能在部分手機(jī)不能運(yùn)行,所以給了提示:您正在制作一個(gè)發(fā)布版本并使用自定義簽名密鑰,但它不支持本機(jī)64位。如果您計(jì)劃發(fā)布此版本,請(qǐng)注意,大多數(shù)商店都需要支持本機(jī)64bit的二進(jìn)制文件。通過(guò)更新播放器設(shè)置添加本機(jī)64位支持:將ScriptingBackend設(shè)置為lL2CPP,并確保目標(biāo)體系結(jié)構(gòu)包括ARM64
根據(jù)提示我們將ScriptingBackend設(shè)置為lL2CPP
3.6 然后換了提示:通過(guò)更新播放器設(shè)置添加本機(jī)64位支持:確保TargetArchitectures包含ARM64。
這是因?yàn)闆](méi)有勾選ARM64,我們勾選下就可以了
64位架構(gòu)必要配置說(shuō)明:
- Minimum API Level:26 足以滿(mǎn)足所有平臺(tái)要求
- ScriptingBackend:IL2CPP,轉(zhuǎn)編譯為C++,性能更好,代碼加密效果更佳
- Target Architectures:ARM64 2023年了目前所有一體機(jī)設(shè)備架構(gòu)基本都以支持ARM64
?3.7 然后我們重新編譯,就在項(xiàng)目目錄生成一個(gè)apk文件
3.8 查看apk是否是簽過(guò)名的release包
首先要USB連接手機(jī)的開(kāi)發(fā)者模式,即Unity里面有這個(gè)手機(jī)的連接信息
到j(luò)dk安裝目錄,右擊進(jìn)入終端窗口
adb shell命令查看apk是否為debug包
$ adb shell dumpsys package xx.xx.xx | findstr flags
查看apk是否release版本xx.xx.xx為包名
命令執(zhí)行成功時(shí),返回flags:
flags=[ DEBUGGABLE HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP LARGE_HEAP ]
代表該APK為debug版本
flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP LARGE_HEAP ]
代表該APK為release版本
可以看到終端輸出是release包
四 Unity游戲和Android原生項(xiàng)目交互
4.1? 有時(shí)候我們需要在另一個(gè)app里面啟動(dòng)一個(gè)unity游戲模塊,這個(gè)時(shí)候就需要把unity導(dǎo)出項(xiàng)目為android的一個(gè)三方庫(kù),android集成這個(gè)unity庫(kù)就可以跳轉(zhuǎn)到游戲了。
4.2 在Build Setting里面勾選Export Project,看到底部的Build選項(xiàng)已經(jīng)變?yōu)镋xport了,我們導(dǎo)出下
4.3 我們導(dǎo)出下,會(huì)生成一個(gè)Gradle構(gòu)建的android模塊,這個(gè)做android項(xiàng)目的就比較熟了,導(dǎo)入AndroidStudio就可以運(yùn)行了
4.4 打開(kāi)AndroidStudio,選擇打開(kāi)該Unity項(xiàng)目
4.5 可以看到UnityPlayerActivity就是游戲的入口,我們點(diǎn)擊運(yùn)行下
4.6 可以看到能夠運(yùn)行起來(lái),結(jié)構(gòu)也是支持32和64的,這時(shí)候就可以在任意一個(gè)其它頁(yè)面跳轉(zhuǎn)進(jìn)來(lái)我們游戲頁(yè)面了
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-740859.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-740859.html
到了這里,關(guān)于Unity之Android項(xiàng)目的打包的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!