版本:2.4.2
參考:
記錄下安裝配置cocos的win下原生開發環境,從jdk,android studio,python安裝,直到能夠真機調試。
一 安裝Java SDK
二 安裝Python
三 安裝Android Studio
四 設置cocos,構建發布
五 遇到的問題
一 安裝Java SDK
編輯Android工程需要Java JDK工具, JDK1.8 64位:下載地址
安裝完成后,配置環境變量。我win10。桌面計算機圖標上右鍵 - 屬性 - 更改設置 - 高級 - 環境變量。

新建系統變量JAVA_HOME,變量值是java sdk安裝路徑

編輯變量Path

點擊新建,輸入 "%JAVA_HOME%\bin“

配置完后重啟電腦,在cmd中輸入 java -version 查看版本
java -version

二 安裝Python
下載地址:Python
用於C++編譯環境,我下載安裝的2.7.13。 (cocos推薦2.7.5+,不要安裝3.x版本)
安裝完成后,和jdk一樣,在環境變量Path中新建"C:\Python27"

重啟電腦,cmd輸入python,可以查看版本
python

三 安裝Android Studio
Android Studio
下載安裝Android Studio:下載地址,我下載的android-studio-ide-191.5977832-windows。
SDK
打開android studio,新建任意項目,選擇Tools - SDK Manager

cocos推薦主流API Level 23,26,28。 勾選后,點擊右下角Apply,開始自動下載。
復制Andoroid SDK Location的地址,后面需要在cocos中填寫。

NDK
安裝完sdk,切換到SDK Tools,勾選右下角Show Package Details。
勾選Android SDK Build-Tools最新版,點擊Apply,會自動下載。
勾選NDK 19(cocos推薦r17-19),點擊Apply,會自動下載。

四 配置cocos原生開發環境
cocos菜單欄:文件 - 設置 - 原生開發環境

設置SDK路徑:C:\Users\Administrator\AppData\Local\Android\Sdk
設置NDK路徑:C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\19.2.5345600 (cocos推薦r17-19版本,我選擇的19)
cocos菜單欄:項目 - 構建發布

Target API Level 可選android-26,28,30之類,我用的android-28.
具體參數意思看cocos教程
構建
點擊構建。構建完畢后,在android studio中打開cocos構建的項目。這時android studio會自動下載缺失的工具,比如gradle等。
首次在cocos構建,必須先打開android studio打開項目,androidstudio自動下載必須的工具,然后再返回cocos編譯,不然很可能編譯失敗。

gradle默認4.10.3,也是cocos目前支持的版本。如果要更換gradle版本,android studio菜單欄:Edit - Find - Find in Path,輸入如下進行搜索
distributionUrl=https\://services
例如將Gradle版本改成6.3。

編譯
點擊編譯,過程比較長。可能會報錯,出現failed,點擊查看log。拿着報錯信息去百度或者論壇找解決方案吧。
我運行了好幾次,都沒成功,在論壇和百度查找了一番。重新安裝了jdk才解決,cocos官網教程那個java jdk地址下載了用了報錯。 = =!

如果編譯成功,則顯示complete

將手機打開開發者模式,開啟usb調試,點擊運行。然后沒反應。
android studio 菜單:View - ToolBar, 打開工具欄

顯示工具欄,可以看到No devices,說明手機雖然連上了電腦,但是android studio檢測不到。

選擇Troubleshoot device connnections。

Android Studio 檢測到14個設備,其中包括我的華為手機。但是android studio就是顯示 no deveices。

嘗試下載華為手機驅動,adb,什么的,折騰了一番,都沒用。
然后解決方案是,下載豌豆莢,手機和pc端都安裝。
豌豆莢官網:手機端下載
天極網:pc端下載 (因為豌豆莢pc端已經不運營了,所以官網沒有)
下載完成后,pc和手機都運行豌豆莢,連接手機,打開usb調試模式,豌豆莢會自動下載驅動,然后android studio就會檢測到手機了。
下次就不需要再運行豌豆莢了,手機連上usb會自動被android studio檢測到。

點擊綠色三角運行,手機會自動安裝apk,這樣就可以真機實測了。

下圖項目自動安裝的apk

五 遇到的問題
Java home is different
發布原生,編譯時報錯,查看logs時,顯示Java home is different.

在androd studio中選擇File-Project Structure

選擇SDK Location - JDK location,選擇系統的JAVA_HOME

如果仍然提示這個問題,刪除項目再次構建-編譯一次,編譯前檢查JDK location是否設置為了系統環境變量配置的JAVA_HOME。
android studio 和 gradle使用的jdk不是同一個
發布原生的時候,提示android studio 和 gradle使用的jdk不是同一個。然后就一直在那轉圈等着。

修改同上一個問題一樣

APP ABI
構建發布時選擇了armeabi-v7a,導致編譯失敗。我取消了勾選,只勾選arm64-v8a和x86則編譯通過。

發布后可以在android項目中這里修改APP ABI。

app abi設備的cpu類型:
- armeabiv-v7a: 第7代及以上的 ARM 處理器。2011年15月以后的生產的大部分Android設備都使用它.
- arm64-v8a: 第8代、64位ARM處理器,很少設備,三星 Galaxy S6是其中之一。
- armeabi: 第5代、第6代的ARM處理器,早期的手機用的比較多。
- x86: 平板、模擬器用得比較多。
- x86_64: 64位的平板。
屏幕高刷新率會改變游戲FPS
在144hz屏幕刷新率的手機上,游戲刷新率也會變成Fps=144。

