国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!

這篇具有很好參考價值的文章主要介紹了cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景

公司,想優(yōu)化掉,在app中,以webview方式,加載游戲的方式。以安卓項(xiàng)目為例,改成:游戲項(xiàng)目導(dǎo)出安卓工程,可直接使用的aar資源。

第一步:cocos項(xiàng)目,構(gòu)建安卓工程

安裝配置原生開發(fā)環(huán)境,可以參考官方文檔:https://docs.cocos.com/creator/2.4/manual/zh/publish/setup-native-development.html
備注:本人使用cocoscreator版本為:2.4.11版本,在構(gòu)建發(fā)布頁面,選擇Android選項(xiàng),構(gòu)建成功后,不要點(diǎn)擊后面的編譯、運(yùn)行按鈕。直接用androidstudio打開構(gòu)建好的安卓工程即可。

第二步:構(gòu)建成功的安卓工程,導(dǎo)出aar資源

1、將CocosCreator導(dǎo)出的安卓工程,用AndroidStudio打開,并修改JDK版本。

cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!

2、將依賴庫工程libcocos2dx打包成aar

cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!

3、修改instantapp工程下的build.gradle、AndroidManifest.xml文件

3.1、build.gradle文件修改后如下:

import org.apache.tools.ant.taskdefs.condition.Os
//apply plugin: 'com.android.application'
// 將工程作為library
apply plugin: 'com.android.library'
android {
    
    compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
    buildToolsVersion PROP_BUILD_TOOLS_VERSION

    defaultConfig {
        minSdkVersion PROP_MIN_SDK_VERSION
        targetSdkVersion PROP_TARGET_SDK_VERSION
        versionCode 1
        versionName "1.0"

        externalNativeBuild {
            ndkBuild {
                if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
                    // skip the NDK Build step if PROP_NDK_MODE is none
                    targets 'cocos2djs'
                    arguments 'NDK_TOOLCHAIN_VERSION=clang'

                    def module_paths = [project.file("/Applications/Creator/2.4.11/CocosCreator.app/Contents/Resources/cocos2d-x"),
                                        project.file("/Applications/Creator/2.4.11/CocosCreator.app/Contents/Resources/cocos2d-x/cocos"),
                                        project.file("/Applications/Creator/2.4.11/CocosCreator.app/Contents/Resources/cocos2d-x/external")]
                    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
                        arguments 'NDK_MODULE_PATH=' + module_paths.join(";")
                    }
                    else {
                        arguments 'NDK_MODULE_PATH=' + module_paths.join(':')
                    }

                    arguments '-j' + Runtime.runtime.availableProcessors()
                }
            }
            ndk {
                abiFilters PROP_APP_ABI.split(':')
            }
        }
    }

    sourceSets.main {
        java.srcDirs "../src", "src"
        res.srcDirs "../res", 'res'
        jniLibs.srcDirs "../libs", 'libs'
        manifest.srcFile "AndroidManifest.xml"
    }

    externalNativeBuild {
        ndkBuild {
            if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
                // skip the NDK Build step if PROP_NDK_MODE is none
                path "jni/Android.mk"
            }
        }
    }

    signingConfigs {

        release {
            if (project.hasProperty("RELEASE_STORE_FILE")) {
                storeFile file(RELEASE_STORE_FILE)
                storePassword RELEASE_STORE_PASSWORD
                keyAlias RELEASE_KEY_ALIAS
                keyPassword RELEASE_KEY_PASSWORD
            }
        }
    }

    buildTypes {
        release {
            debuggable false
            jniDebuggable false
            renderscriptDebuggable false
            minifyEnabled true
            //作為library不能設(shè)置這個參數(shù)
            //shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (project.hasProperty("RELEASE_STORE_FILE")) {
                signingConfig signingConfigs.release
            }

            externalNativeBuild {
                ndkBuild {
                    arguments 'NDK_DEBUG=0'
                }
            }
        }

        debug {
            debuggable true
            jniDebuggable true
            renderscriptDebuggable true
            externalNativeBuild {
                ndkBuild {
                    arguments 'NDK_DEBUG=1'
                }
            }
        }
    }

}
//將applicationVariants,改成libraryVariants
android.libraryVariants.all { variant ->
    // delete previous files first
    delete "${buildDir}/intermediates/merged_assets/"

    variant.mergeAssets.doLast {
        def sourceDir = "${buildDir}/../../../../.."

        copy {
            from "${sourceDir}"
            include "assets/**"
            include "src/**"
            include "jsb-adapter/**"
            into outputDir
        }

        copy {
            from "${sourceDir}/main.js"
            from "${sourceDir}/project.json"
            into outputDir
        }
    }
}

dependencies {
    //注釋掉這些依賴,不然打成aar后會運(yùn)行會報(bào)沖突
//    implementation fileTree(dir: '../libs', include: ['*.jar','*.aar'])
//    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
//    implementation fileTree(dir: "/Applications/Creator/2.4.11/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/platform/android/java/libs", include: ['*.jar'])
    implementation project(':libcocos2dx')
}

3.2、AndroidManifest.xml文件修改如下:
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
3.3、同步gradle,然后將工程打包成aar。截圖如下:
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!

第三步:其他項(xiàng)目組安卓工程,導(dǎo)入游戲aar資源,并加載呈現(xiàn)游戲

cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!

cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!
至此,結(jié)束。文章來源地址http://www.zghlxwxcb.cn/news/detail-447921.html

到了這里,關(guān)于cocos2dx游戲項(xiàng)目,集成到其他安卓項(xiàng)目工程之中!的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • cocos2dx ??Animate3D(二)

    扭曲旋轉(zhuǎn)特效 源碼 示例 瓷磚晃動特效 源碼 示例 破碎的3D瓷磚特效 源碼 示例 瓷磚洗牌特效 源碼 示例 FadeOutTRTiles :淡出效果,從左下角到右上角 FadeOutBLTiles :淡出效果,從右上角到左下角 FadeOutUpTiles :折疊效果,從下到上 FadeOutDownTiles :折疊效果,從上到下 示例 方塊消

    2024年02月05日
    瀏覽(29)
  • 《入門級-Cocos2d 4.0塔防游戲開發(fā)》---第二課:游戲加載界面開發(fā)

    《入門級-Cocos2d 4.0塔防游戲開發(fā)》---第二課:游戲加載界面開發(fā)

    目錄 一、開發(fā)環(huán)境介紹 二、開發(fā)內(nèi)容 2.1 修改窗口的大小。 2.2 添加加載場景相關(guān)代碼 2.3 添加資源 三、顯示效果 四、知識點(diǎn) ?4.1?Sprite 4.2 定時器 操作系統(tǒng):UOS1060專業(yè)版本。 cocos2dx:版本 環(huán)境搭建教程: 統(tǒng)信UOS下配置安裝cocos2dx開發(fā)環(huán)境_三雷科技的博客-CSDN博客 ? ? ? ?游

    2024年02月15日
    瀏覽(38)
  • Pygame和Cocos2d

    Pygame和Cocos2d都是 Python 中常用的游戲引擎,但它們的設(shè)計(jì)目標(biāo)、特點(diǎn)和使用場景略有不同。 Pygame與Cocos2d,目前是使用人數(shù)最多的兩個Python游戲庫。根據(jù)某知名產(chǎn)品點(diǎn)評網(wǎng)站的數(shù)據(jù)顯示,Cocos2d排名第一,Pygame排名第二。 Pygame是一種基于SDL(Simple DirectMedia Layer)的Python庫,主要

    2024年01月21日
    瀏覽(31)
  • cocos2D插件轉(zhuǎn)3D插件

    cocos2D插件轉(zhuǎn)3D插件

    2024年02月16日
    瀏覽(23)
  • Cocos2d-x實(shí)現(xiàn)文字顏色漸變

    Cocos2d-x實(shí)現(xiàn)文字顏色漸變

    更改CCLabel文件的updateColor()函數(shù)中的頂點(diǎn)顏色即可,代碼如下: 效果圖: ?

    2024年02月12日
    瀏覽(30)
  • cocos2d-x C++與Lua交互

    cocos2d-x C++與Lua交互

    Cocos版本: 3.10 Lua版本: 5.1.4 環(huán)境: window Visual Studio 2013 Lua 作為一種腳本語言, 它的運(yùn)行需要有 宿主 的存在,通過 Lua虛擬棧 進(jìn)行數(shù)據(jù)交互。 它的底層實(shí)現(xiàn)是 C 語言,C語言封裝了很多的API接口,使得C/C++與Lua之間可以很方便的通信交互。 Lua的官網(wǎng): https://www.lua.org/ 在coc

    2024年02月08日
    瀏覽(19)
  • 使用“Cocos引擎”創(chuàng)建的cpp工程如何在VS中調(diào)試Cocos2d-x源碼

    使用“Cocos引擎”創(chuàng)建的cpp工程如何在VS中調(diào)試Cocos2d-x源碼

    前段時間Cocos2d-x更新了一個Cocos引擎,這是一個集合源碼,IDE,Studio這一家老小的整合包,我們可以使用這個Cocos引擎來創(chuàng)建我們的項(xiàng)目。 在Cocos2d-x被整合到Cocos引擎之前,我們可以不那么方便地在我們創(chuàng)建的工程里調(diào)試Cocos2d-x的代碼,當(dāng)我們使用了整合后的Cocos引擎,調(diào)試

    2024年02月12日
    瀏覽(23)
  • cocos2d-x Android原生平臺與Lua交互

    版本: cocos2d-x 語言: C++/Java/Lua cocos2d-x原生平臺Android 接入第三方SDK, 需要了解 LuaJavaBridge 的使用。 它封裝了用于 Java 和 Lua 的相互調(diào)用, 其調(diào)用通過 C++ 為中介,簡要的流程: Lua調(diào)用Java: Lua - C++ - Java Java調(diào)用Lua: Java - C++ - Lua 以此方式來實(shí)現(xiàn)數(shù)據(jù)的交互, 接下來我們分別說下

    2024年02月08日
    瀏覽(34)
  • cocos2d-x 3.17 推箱子 0.1

    cocos2d-x 3.17 推箱子 0.1

    此版本為推箱子游戲的基礎(chǔ)版本, 后續(xù)添加如下功能 人物動畫 TiledMap 解析 射線碰撞檢測 下一步提示, C++算法解析 道具, 可以回退一步 通過 cocos 命令新建一個項(xiàng)目, 將本項(xiàng)目的 Reources 目錄和 Classes 目錄復(fù)制過去即可 使用圖集繪制 Sprite , 然后手動處理碰撞檢測 游戲?qū)W論著翻譯

    2024年02月08日
    瀏覽(25)
  • 綁定證書的cocos2d程序如何對wss長連接抓包

    綁定證書的cocos2d程序如何對wss長連接抓包

    點(diǎn)擊上方 ↑ ↑ ↑ 藍(lán)字[ 協(xié)議分析與還原 ]關(guān)注我們 “ ?解決在應(yīng)用內(nèi)綁定了證書的cocos2d應(yīng)用wss長連接抓包的問題。 ” 在分析應(yīng)用的過程中,不可避免地需要抓包。 沒加密的還好說,隨便找個工具抓下就可以分析了,有些應(yīng)用數(shù)據(jù)使用tls加密了,但用的是系統(tǒng)內(nèi)置的證書,

    2024年02月05日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包