1. 程式人生 > >cocos2dx-2.x的eclipse打包apk

cocos2dx-2.x的eclipse打包apk



必備安裝環境:java jdk安裝以及環境變數,python執行環境

cocos2dx 2.2.2版本是通過python指令碼建立的,指令碼位置:cocos2d-x-2.2.2\tools\project-creator\create_project.py;

這裡可以寫個批處理檔案來方便建立;createProject.bat

複製程式碼
@echo off
:label1
@cls
echo 歡迎使用Python建立Cocos2d-x工程
set /p project=請輸入需要建立的工程名:
set /p aID=請輸入需要建立的android版本包標識名:
echo 您輸入的工程名為%project%
echo
您輸入的android版本包標識名為%aID% echo 確認建立工程嗎? CHOICE /C 123 /M "確認請按 1,取消請按 2,或者退出請按 3。" echo %errorlevel% if %errorlevel%==1 goto label2 if %errorlevel%==2 goto label1 if %errorlevel%==3 goto label3 :label2 echo 正在建立工程... python create_project.py -project %project% -package %aID% -language cpp :label3 pause
複製程式碼

執行批處理,根據提示,創建出專案;

複製程式碼
歡迎使用Python建立Cocos2d-x工程
請輸入需要建立的工程名:test02
請輸入需要建立的android版本包標識名:com.hugh.test
您輸入的工程名為test02
您輸入的android版本包標識名為com.hugh.test
確認建立工程嗎?
確認請按 1,取消請按 2,或者退出請按 3。 [1,2,3]?1
1
正在建立工程...
proj.ios                : Done!
proj.android            : Done!
proj.win32              : Done!
proj.winrt              : Done
! proj.wp8 : Done! proj.mac : Done! proj.blackberry : Done! proj.linux : Done! proj.marmalade : Done! proj.tizen : Done! New project has been created in this path: I:\cocosx\cocos2d-x-2.2.2\tools\proje ct-creator/../../projects/test02 Have Fun! 請按任意鍵繼續. . .
複製程式碼

 那麼在cocos2d-x-2.2.2\projects\test02\proj.android 目錄已經生成了android專案

專案的c++檔案類都在Classes目錄下

需要把這些c++檔案放到android專案的jni目錄下

上面的main.cpp是先去專案生成時自動生成的,不能把win32專案的main.cpp拷到此處啊,這是java jni 呼叫相關的。

接下來把需要編譯的所有類都加入到jni目錄下的Android.mk檔案裡

複製程式碼
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,cocos2dx)
$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
$(call import-module,CocosDenshion/android)
$(call import-module,extensions)
$(call import-module,external/Box2D)
$(call import-module,external/chipmunk)
複製程式碼

就是需要讓程式知道我們的c++檔案放在哪,這裡我們可以改下:

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   hellocpp/AppDelegate.cpp \
                   hellocpp/HelloWorldScene.cpp

其實不改也行,檔案上上層的Classes目錄本來就有這些檔案,只是要明白這個道理;

下面需要把cocos2dx對於android平臺支援的程式碼拷到我們的工程專案裡面,檔案目錄在cocos2d-x-2.2.2\cocos2dx\platform\android\java\src下;

org目錄下的檔案就是cocos2dx對android平臺介面支援相關的,我們把它拷到專案的src目錄下:

 到這裡預備工作就做的差不多了,下面就可以用eclipse載入該專案了

當然專案肯定會報錯,編譯引數我們還沒設呢!

首先我們得選定平臺的sdk

確定後編輯器就生成了android專案所需要的gen目錄了

對比下專案剛開啟的樣子,是不是生成了久違的gen目錄啊 ,成功在望啊!

這時候專案的報錯就不多了,我們看下:

這是專案編譯報錯,看到bash應該知道他是運行了錯誤的編譯環境,bash 是linux的,我們看下配置確認下

是不是啊,執行的是linux下的指令碼,我們得把它改成windows平臺對應的就行。

我們把它改成I:\cocosx\android-ndk-r9d\ndk-build.cmd這個,用ndk-build.cmd來編譯。

下面我們需要配幾個引數了:

COCOS2DX 引數,設定cocos目錄,I:\cocosx\cocos2d-x-2.2.2

NDK_ROOT引數,設定ndk目錄,I:\cocosx\android-ndk-r9d

NDK_MODULE_PATH引數,設定ndk jni需要呼叫的目錄,I:\cocosx\cocos2d-x-2.2.2;I:\cocosx\cocos2d-x-2.2.2\cocos2dx\platform\third_party\android\prebuilt

 還剩下一個引數了,直接上圖:

好了,編譯環境已經設立完了,我們清理下,看有沒有報錯:

看,已經沒有報錯了!接下來就處理資源了,還沒忘吧!

android專案下沒有自動生成assets目錄,我們就只有手動建立該目錄,然後把Resources目錄下的資源拷過來

好了,接下了就去編譯了!

這是一個漫長的過程!

看到這裡,我們需要的庫就已經編好了,接下來就打包了,這就沒啥可講的了。

相關推薦

cocos2dx-2.x的eclipse打包apk

 必備安裝環境:java jdk安裝以及環境變數,python執行環境 cocos2dx 2.2.2版本是通過python指令碼建立的,指令碼位置:cocos2d-x-2.2.2\tools\project-creator\create_project.py; 這裡可以

Android studio 自己定義打包APK名稱

nts 名稱 code apk conf androi 版本 ant each Android Studio打包應用默認生成的apk名稱是:app-release.apk 、假設我們要讓生成的apk名跟我們版本號包名有聯系的話。那我們就要自己定義生成的apk名了,要

B/S模式實現批量打包apk

fad tle tdi inpu 控制臺輸出 dir static ams fine 界面流程 界面例如以下: 這是一個使用html編寫的界面,界面分為兩半。兩個frame。左邊為操作欄,右邊為控制臺輸出。 打包流程: 選擇須要打包的渠道後,

Android studio 自定義打包apk

roi fault targe test 包名 如果 nts time css Android Studio打包應用默認生成的apk名稱是:app-release.apk 、如果我們要讓生成的apk名跟我們版本包名有聯系的話,那我們就要自定義生成的apk名了 需要在bui

RPG MAKER MV 打包APK教程(一鍵打包,無需編寫任何代碼)

get upload 打開 arc ron packer 下載頁面 block down HTML一鍵打包APK工具可以快速打包RPG Maker制作出來的遊戲, 打包教程如下: 打包軟件下載地址: 點擊進入下載頁面 打包步驟 1.準備好待打包的RPG

linux下jenkins打包APK

開發 很多 測試 mar 只需要 prefix fig process config Android的開發中常常需要:開發環境、測試環境和生產環境三個環境下測試我們的應用,經常會遇到這樣的情況,測試人員找開發人員說,能不能給我打一個XX的環境的包,我需要測試,有時忙開發沒法

Smobiler打包apk安裝包——C# 或.NET Smobiler例項開發手機app(六)

免責宣告:此文涉及“極光”、“高德”、“掌上川電”關鍵字。本人以傳遞知識的心態發表文章,若有侵權聯絡[email protected]即刪! 目錄 一、 前言 二、建立應用 1、 註冊Smobiler的賬號 2、上傳資源 3、 連線專案 三、 應用打包

cordova app打包apk簽名

首先執行:ionic cordova build android --prod --release,執行完會在以下目錄生成apk檔案( --prod 用以壓縮) 然後使用keytool生成keystore檔案,也就是數字簽名: keytool -genkey -v -keystore my

重新打包apk簽名jarsigner簡單使用

jarsigner簡單使用說明 這裡並不需要到jdk的bin目錄下只要在c:目錄下都行 這是我試過的方法,再說一遍,我試過了,不是抄襲,雖然也算不上我的自創,但是這是最簡單粗暴的命令,私鑰自己在eclipse建立,這裡不詳細說明  jarsigner -verbose -ke

react-native-cli執行專案及打包apk失敗的解決過程

剛開始學習react native,第一步自然是搭建好開發環境,node及jdk本身就有,Python2、Android studio以及Android sdk的安裝倒是沒什麼大問題,按照官網的教程做就行了,還有Android studio我目前理解的是其實主要作用就是配置對應版本的安卓模擬器或者是安裝sdk

react-native-cli運行項目及打包apk失敗的解決過程

一段時間 inline sem 命令 gradle nsf 錯誤提示 路徑 div 剛開始學習react native,第一步自然是搭建好開發環境,node及jdk本身就有,Python2、Android studio以及Android sdk的安裝倒是沒什麽大問題,按照官

flutter 打包apk

前言 完成專案時,我們需要將專案打包成一個apk,方便測試以及釋出版本. 並且釋出版本還需要簽名,今天把這一系列操作記錄下來. App簽名 建立 keystore 如果您有現有keystore,請跳至下一步。如果沒有,請通過在執行以下命令來建立一個: keyt

androidstudio2.3.2簽名打包安裝失敗問題,INSTALL_PARSE_FAILED_NO_CERTIFICATES

2.3以後多了這些選項的話不選擇是無法繼續下去的,選擇的話,我當時看到V2和apk有關,V1和jar有關,在沒有弄明白區別的時候果斷選擇V2的方式,然後點選了Finish.等了一會,apk打包好了,我用adb install命令安裝這個apk的時候卻遇到這樣的問題 把V1單

Android Studio 自定義打包apk名字

Android Studio打包的時候,我們想自定義自己的檔名,則可以使用 applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = outpu

909422229_Android studio打包APK

一、百度百科 Android Studio 是谷歌推出一個Android整合開發工具,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了整合的 Android 開發工具用於開發和除錯。 其實IDEA也可以打包APP專案

jenkins打包apk遇到的一些坑

1.安裝as開發工具後使用該工具中的android manager 下載sdk包並且配置好sdk的環境變數和jdk的環境變數 2.這次的版本是用mac上開發匯出來的程式碼給我,有些配置不一樣需要在根目錄下的local.properties 中加入如下制定sdk的路徑,注意斜槓方向

Unity引用Jar後打包APK真機執行閃退的問題.

       嘗試在PlayerSittings裡,設定Scripting Backend 為 IL2CPP,並下載安裝NDK,問題解決.感謝雨鬆momo大佬...                 以下全是廢話,一個菜雞的心累吐槽.非蛋疼的話,請忽略!!!!!請忽略

android studio分模組打包apk,多渠道打包,差異化打包

AS利用Gradle實現稍作修改(包名差異(需求如:測試機同時安裝測試版和釋出版)、功能較小差異、圖示應用名不同等較小差異化需求)打包多個不同apk的功能 實現方法 在APP的buid.gradle

在Untiy中實現掃雷遊戲,並且打包Apk

前言:《掃雷》是一款大眾類的益智小遊戲,於1992年發行。遊戲目標是在最短的時間內根據點選格子出現的數字找出所有非雷格子,同時避免踩雷,踩到一個雷即全盤皆輸。 在實現掃雷的主要邏輯中,主要的難點: (1)如何檢測以一個物件為中心的八個方向上面的雷的個數。 (2)檢測如果

Unity Android打包apk安裝錯誤INSTALL_FAILED_CONFLICTING_PROVIDER

 原因: Assets\Plugins\Android\GCloud\AndroidManifest.xml 裡這一段 android:authorities="com.123456789.abcdefg.ApolloFileprovider" 被安裝手機中另一個包名不同但是aut