首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

BAT 批次檔一鍵打包 APK:Cocos2d-x + Lua 專案自動化建置腳本

     編輯:更多程式設計知識

針對 Cocos2d-x + Lua 專案,提供一支可直接放在 proj.android 目錄下的 build_apk.bat,整合 SVN 更新、LuaJIT 編譯加密、ASmaker 資源加密、NDK 建置、Ant Release 打包 全流程,修改頂部路徑變數即可套用。

腳本核心流程

  1. 環境變數設定:JDK、Ant、Android SDK、NDK、SVN 路徑
  2. 清理舊產物:刪除 assets/、Resources/、舊 APK
  3. SVN 更新:專案碼與引擎碼同步最新
  4. LuaJIT 位元組碼編譯:luajit.exe -b 將 .lua 編譯為 .luac
  5. ASmaker 資源加密:將 Resources/ 加密輸出至 assets/
  6. NDK 建置:ndk-build 編譯 C++ 原生庫
  7. Ant Release:產生簽名後的 -release.apk

關鍵變數修改處 (請依實際環境調整)

set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_05"
set ANT_HOME="D:\Program\Software\apache-ant-1.9.4"
set ANDROID_HOME="D:\Program\Software\android sdk\sdk"
set NDK_HOME="D:\Program\Software\android-ndk-r9d-windows-x86_64\android-ndk-r9d"
set SVN_HOME="C:\Program Files\TortoiseSVN\bin"
set WORK_DIR="D:\engine\projects\XXXXX\proj.android"
set RESOURCES_DIR=%WORK_DIR%\..\Resources
set ASSETS_DIR=%WORK_DIR%\assets

完整腳本內容 (節錄關鍵段)

@echo off
rem ---- 清理 ----
if exist %ASSETS_DIR% (rd /q /s %ASSETS_DIR%)
if exist %RESOURCES_DIR% (rd /q /s %RESOURCES_DIR%)
if exist %WORK_DIR%\bin\XXXXX-release.apk (del /q /f %WORK_DIR%\bin\XXXXX-release.apk)

rem ---- SVN 更新 ----
"%SVN_HOME%\TortoiseProc.exe" /command:update /path:"D:\engine\projects\XXXXX" /closeonend:1
"%SVN_HOME%\TortoiseProc.exe" /command:update /path:"D:\engine" /closeonend:1

pushd %WORK_DIR%

rem ---- LuaJIT 編譯 ----
for /r %RESOURCES_DIR% %%i in (*.lua) do (
    luajit.exe -b %%i %%i
)

rem ---- ASmaker 加密 ----
ASmaker -i %RESOURCES_DIR% -o %ASSETS_DIR%

rem ---- NDK 建置 ----
call "%NDK_HOME%\ndk-build" -C "%WORK_DIR%" "NDK_MODULE_PATH=D:\engine;D:\engine\cocos2dx\platform\third_party\android\prebuilt"

rem ---- Ant Release ----
call "%ANDROID_HOME%\tools\android" update project -p "%WORK_DIR%"
call ant release

popd
pause

常見問題排查

  • luajit.exe 需在 PATH 或指定完整路徑;Lua 5.1 專用。
  • ASmaker 為自製加密工具,若無可移除該步驟並手動 xcopy 資源。
  • NDK r9d 較舊,新專案建議升級至 r21+ 並改用 CMake + Gradle。
  • Ant 已停止維護,官方建議遷移至 Gradle (Android Studio 專案結構)。

現代化建議

新專案請直接採用 Cocos Creator + Gradle 建置體系,支援增量編譯、多渠道打包、Kotlin DSL 腳本,維護性遠優於 BAT。本腳本僅供舊版 Cocos2d-x 3.x 專案維護期參考。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved