cocos creator3.x项目打包成aar 加入到已有的Android工程

Cocos crearor版本:  3.4.2

Android Studio Flamingo | 2022.2.1 Patch 2

1、配置构建安卓项目

2、 运行编译无报错

出现问题可尝试修改Gradle版本

 修改jdk版本

3、对libservice打包成aar

打包完后 再build/outputs找到aar

如果看不到Tasks模块,在File -> Settings -> Experimental 选项,取消勾选 Do not build Gradle task list during Gradle sync 选项

Android Studio 右侧 Gradle 不显示 tasks 模块_右侧gradle更新完成后才会出现模块吗-CSDN博客

4、对libcocos2dx打包成aar

5、对app游戏内容打包成aar

修改游戏项的build.gradle,本身导出安卓项是打包apk的,所以需要gradle,将内容改成library,并去掉无用项,

修改后

import org.apache.tools.ant.taskdefs.condition.Os//将game工程作为library
apply plugin: 'com.android.library'RES_PATH = RES_PATH.replace("\\", "/")
COCOS_ENGINE_PATH = COCOS_ENGINE_PATH.replace("\\", "/")buildDir = "${RES_PATH}/proj/build/$project.name"
android {//有baseFeature 的话也注掉//baseFeature truecompileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()buildToolsVersion PROP_BUILD_TOOLS_VERSIONndkPath PROP_NDK_PATHcompileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}defaultConfig {//去掉applicationId // applicationId APPLICATION_IDminSdkVersion PROP_MIN_SDK_VERSIONtargetSdkVersion PROP_TARGET_SDK_VERSIONversionCode 1versionName "1.0.0.1"externalNativeBuild {cmake {targets "cocos"arguments "-DRES_DIR=${RES_PATH}", "-DCOCOS_X_PATH=${COCOS_ENGINE_PATH}", "-DANDROID_STL=c++_static", "-DANDROID_TOOLCHAIN=clang", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_LD=gold"cppFlags "-frtti -fexceptions -fsigned-char"}ndk { abiFilters PROP_APP_ABI.split(':') }}}sourceSets.main {java.srcDirs "../src", "src"res.srcDirs "../res", 'res'jniLibs.srcDirs "../libs", 'libs'manifest.srcFile "AndroidManifest.xml"assets.srcDir "${RES_PATH}/assets"jniLibs {// Vulkan validation layer// srcDir "${android.ndkDirectory}/sources/third_party/vulkan/src/build-android/jniLibs"}}externalNativeBuild {cmake {path "../CMakeLists.txt"buildStagingDirectory "${RES_PATH}/proj/build"}}signingConfigs {release {if (project.hasProperty("RELEASE_STORE_FILE") && !RELEASE_STORE_FILE.isEmpty()) {storeFile file(RELEASE_STORE_FILE)storePassword RELEASE_STORE_PASSWORDkeyAlias RELEASE_KEY_ALIASkeyPassword RELEASE_KEY_PASSWORD}}}buildTypes {release {debuggable falsejniDebuggable falserenderscriptDebuggable falseminifyEnabled true//作为library不能设置这个参数//shrinkResources trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'if (project.hasProperty("RELEASE_STORE_FILE")) {signingConfig signingConfigs.release}// resValue  "string", "app_name", PROP_APP_NAME}debug {debuggable truejniDebuggable truerenderscriptDebuggable true// resValue  "string", "app_name", "${PROP_APP_NAME}-dbg"// applicationIdSuffix ".debug"}}
}dependencies {//去掉其他aar的添加//implementation fileTree(dir: '../libs', include: ['*.jar','*.aar'])//implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])//implementation fileTree(dir: "${COCOS_ENGINE_PATH}/cocos/platform/android/java/libs", include: ['*.jar'])implementation project(':libservice')implementation project(':libcocos')
}

修改AndroidManifest,去掉启动 

编译出aar 

 

6:其他项目组安卓工程,导入游戏aar资源,并加载呈现游戏

 在lib中加入导出的aar包

 在build.gradle中引入,game-release.aar不知道为啥引入失败,所以单独添加了

 MainActivity继承AppActivity就能使用了,如果本身游戏有其他安卓项需求,也可在AppActivity中实现再打包到aar中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人机交互新研究:MIT开发了结合脑电和眼电的新式眼镜,与机器狗交互

还记得之前的AI读心术吗?最近,「心想事成」的能力再次进化, ——人类可以通过自己的想法直接控制机器人了! 来自麻省理工的研究人员发表了Ddog项目,通过自己开发的脑机接口(BCI)设备&#xff…

面试答疑03

1、登录鉴权怎么做的?为什么采用jwt的方式?有什么好处? Java登录鉴权常见的实现方式包括**CookieSession、HTTP Basic Authentication、ServletJDBC**等。 在Java的Web应用中,登录鉴权是确认用户身份的关键环节。一个常用的传统…

Vue项目启动过程全记录(node.js运行环境搭建)

一、安装node.js并配置环境变量 1、安装node.js 从Node.js官网下载安装包并安装。然后在安装后的目录(如果是下载的压缩文件,则是解压缩的目录)下新建node_global和node_cache这两个文件夹。 node_global:npm全局安装位置 node_…

机器学习面试:逻辑回归与朴素贝叶斯区别

逻辑回归与朴素贝叶斯区别有以下几个方面: (1)逻辑回归是判别模型,朴素贝叶斯是生成模型,所以生成和判别的所有区别它们都有。 (2)朴素贝叶斯属于贝叶斯,逻辑回归是最大似然,两种概率哲学间的区别。 (3)朴素贝叶斯需要条件独立假设…

【刷题】牛客 JZ64 求1+2+3+...+n

刷题 题目描述思路一 (暴力递归版)思路二 (妙用内存版)思路三 (快速乘法版)思路四 (构造巧解版)Thanks♪(・ω・)ノ谢谢阅读!&#xff01…

高盛:日本这轮通胀是否可持续,关键看房租

租金在日本CPI中的权重高达20%,高盛预计短期内租金将继续拖累通胀至1.7%或以下,长期有望温和上行,使通胀稳在2%的水平。 日本正在转向“去通缩”,房租能否支撑通胀态势? 在日股今年一路高歌、有望“收复失地”时&…

unity-firebase-Analytics分析库对接后数据不显示原因,及最终解决方法

自己记录一下unity对接了 FirebaseAnalytics.unitypackage(基于 firebase_unity_sdk_10.3.0 版本) 库后,数据不显示的原因及最终显示解决方法: 1. 代码问题(有可能是代码写的问题,正确的代码如下&#xff…

OpenTiny Vue 组件库适配微前端可能遇到的4个问题

本文由体验技术团队 TinyVue 项目成员岑灌铭同学创作。 前言 微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略,每个应用可以选择不同的技术栈,独立开发、独立部署。 TinyVue组件库的跨技术栈能力与微前端十…

springboot207基于springboot的实习管理系统

实习管理系统的设计与实现 摘要 近年来,信息化管理行业的不断兴起,使得人们的日常生活越来越离不开计算机和互联网技术。首先,根据收集到的用户需求分析,对设计系统有一个初步的认识与了解,确定实习管理系统的总体功…

H5星空渐变效果引导页源码

H5星空渐变效果引导页源码 源码介绍:H5星空渐变效果引导页源码是一款带有星空渐变效果的源码,内含3个可跳转旗下站点按钮。 下载地址: https://www.changyouzuhao.cn/8344.html

【海贼王的数据航海:利用数据结构成为数据海洋的霸主】时间复杂度 | 空间复杂度

目录 1 -> 算法效率 1.1 -> 如何衡量一个算法的好坏? 1.2 -> 算法的复杂度 2 -> 时间复杂度 2.1 -> 时间复杂度的概念 2.2 -> 大O的渐进表示法 2.3 -> 常见时间复杂度计算 3 -> 空间复杂度 4 -> 常见复杂度对比 1 -> 算法效…

SQL注入漏洞解析

什么是SQL注入 原理: SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服…

【Vuforia+Unity】AR01实现单张多张图片识别产生对应数字内容

1.官网注册 Home | Engine Developer Portal 2.下载插件SDK,导入Unity 3.官网创建数据库上传图片,官网处理成数据 下载好导入Unity! 下载好导入Unity! 下载好导入Unity! 下载好导入Unity! 4.在Unity设…

图——最小生成树实现(Kruskal算法,prime算法)

目录 预备知识: 最小生成树概念: Kruskal算法: 代码实现如下: 测试: Prime算法 : 代码实现如下: 测试: 结语: 预备知识: 连通图:在无向图…

Sora的第一波受害者出现了。

不知道大家最近除了被Sora刷屏之外,有没有被这张图刷屏 我只能说网友太强大了 说实话,我进入舟老师的直播间,每次都是还有3分钟下播,还有6单就拍完 但是10分钟后还在激情逼单,6单之后还有6单 也许在营销学上&#x…

C++笔记:OOP三大特性之多态

前言 本博客中的代码和解释都是在VS2019下的x86程序中进行的,涉及的指针都是 4 字节,如果要其他平台下测试,部分代码需要改动。比如:如果是x64程序,则需要考虑指针是8bytes问题等等。 文章目录 前言一、多态的概念二、…

【C++初阶】系统实现日期类

目录 一.运算符重载实现各个接口 1.小于 (d1)<> 2.等于 (d1d2) 3.小于等于&#xff08;d1<d2&#xff09; 4.大于&#xff08;d1>d2&#xff09; 5.大于等于&#xff08;d1>d2&#xff09; 6.不等于&#xff08;d1!d2&#xff09; 7.日期天数 (1) 算…

mac图片怎么转换格式jpg?四种高效方法助你轻松搞定JPG格式

mac图片怎么转换格式jpg&#xff1f;在数字时代&#xff0c;图片格式的转换成为了我们日常操作中的一项基本技能。特别是在使用Mac操作系统的用户中&#xff0c;如何将图片转换为JPG格式成为了一个热门话题。本文将为你详细介绍四种简单实用的方法&#xff0c;帮助你在Mac上轻松…

测试基础1:伟大航路哟呼(Linux基础、mysql基础)

1 测试流程和方法 软件测试定义&#xff1a; 从方式上看&#xff1a;包含人工测试、自动化测试 从方法上看&#xff1a;运行程序或系统和测定程序或系统的过程 从目的上看&#xff1a;包括找bug和找bug出现的原因 软件测试的原则&#xff1a;功能性、可靠性、易用性、效率性…

一、网络基础知识

1、IP地址和端口号 1.1、IP地址 定义&#xff1a;用于在网络中唯一标识设备的地址。格式&#xff1a;通常由四个数字组成&#xff0c;以点分十进制表示&#xff0c;例如&#xff1a;192.168.0.1。(IPv4)作用&#xff1a;允许网络中的设备相互通信&#xff0c;通过IP地址可以定…