日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cocos lua调用java_【Tech-Lua】Cocos-2dx-Lua调用java的小白教程(三)

發(fā)布時間:2023/12/2 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cocos lua调用java_【Tech-Lua】Cocos-2dx-Lua调用java的小白教程(三) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上周五下班前,打包成功了。我很高興,周六去踢場足球,周日去現(xiàn)場看了最后一分鐘掉球的恒大,度過了一個愉快的周末。然后,噩夢的周一開始了。

我再次打包,打算打包就安裝,但結(jié)果是失敗的。為何?我周五明明成功了,為何又失敗了?我又打了一次,結(jié)果就是還是失敗,原因是用了其他工程打包,而非目標的那個工程。嚓···這個明顯就是坑我自己。!@@!

又過了一整天了,其中又發(fā)生了一件很奇怪的事情。

當我選擇 android-23進行打包工程的時候,可以打包成功,可是運行失敗,報了.so文件構(gòu)建錯誤的Exception。

我把這個cocos-Lua工程翻了一個遍。

開始的時候,不斷地說我們沒有定義引入Cpp中的方法。

我重新把所有的Android.mk文件全部查看了一遍。重新認識了mk文件的所有定義。

Android.mk文件屬性定義。

然后我發(fā)現(xiàn),其中一個我修改的mk文件寫錯了。

就是

\frameworks\cocos2d-x\cocos\scripting\lua-bindings\proj.android\Adnroid.mk

其中:

以上可以知道,把lua_HNLuaTest_auto.cpp加入到這個模塊中進行編譯。

我的錯誤在于:

這個LOCAL_STATIC_LIBRARIES可以知道,其引入了之前Park/android.mk編譯的靜態(tài)庫,其中這里的LOCAL_STATIC_LIBRARIES的名稱必須與Park/android.mk定義的模塊名稱一致,否則就連接到之前編譯的Park靜態(tài)庫.

(之前的錯誤就是這樣引起的。!@@!)

再打包apk一次,顯然,成功了。

運行,沒事~!

為了驗證可以,我就去修改AppDelegate.cpp。在他們的方法中加入一句log看看。

再打包一次apk,運行到手機中,恩·!看到log了。

這下安心了,那么就繼續(xù)往下走吧,到下一步,lua中調(diào)用這個C++類。

由于之前我們在auto/api/已經(jīng)生成了lua_HNLua_auto.lua文件,根據(jù)上文提到的文章,Android平臺的引入。

1.先把這個lua文件zip壓縮。

2.把它引入到cocos code IDE工程中。如圖:

3.在lua工程中引入Test類。

4.在cocos - IDE 中運行工程。

經(jīng)過一天的摧殘,你至少要懂得幾個知識點:

1.mk文件的屬性作用

2.lua打包android的apk的過程

3.cocos Lua工程的結(jié)構(gòu) ,其中它存在了相當多的引入,各個文件包引入相當亂一定要理順。所以以下總結(jié)一下 這幾天的所經(jīng)歷的步驟。

1.在工程的cocos文件夾中新建c++文件,為何在這個cocos文件夾中?

2.在這個自建的C++文件夾中新加入Android.mk文件,將它編譯成一個模塊

3.在tolua工具文件夾中運行修改好了py腳本,新構(gòu)建hpp文件,存放在auto文件下面。

4.修改/scripting/lua-binding/pro.android/android.mk 把c++的模塊加入編譯。

5.在工程的入口文件,注冊好C++類。

#include “../auto/lua_HNLuaTest_auto.hpp”

register_all_HNLuaTest(L);

6.壓縮生成好的lua文件,在cocosIDE工程中引入

7.在Lua工程中調(diào)用這個C++類。

其中每一個步驟都不能有點兒的出錯,因為出錯的話,錯誤難找,也難解。

最后付上我的工程例子:

CocosLuaWithCpp3

PS:工程有點大,已經(jīng)壓縮了,這個你們要怪cocos-IDE了。

總結(jié)

以上是生活随笔為你收集整理的cocos lua调用java_【Tech-Lua】Cocos-2dx-Lua调用java的小白教程(三)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。