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,一经查实,立即删除!

相关文章

sqlserver触发器

在SQL Server中,触发器是一种特殊的数据库对象,它们会在表上执行特定的操作时自动触发。触发器可以用于在表上插入、更新或删除数据时执行自定义的逻辑。触发器通常用于实施数据完整性约束、审计和日志记录等操作。 触发器有三种主要类型: 插…

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

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

面试答疑03

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

【Linux内核模块加新功能 DAY6-8】

一、向内核添加新功能 1.1 静态加载法&#xff1a; 即新功能源码与内核其它代码一起编译进uImage文件内 新功能源码与Linux内核源码在同一目录结构下在linux-3.14/driver/char/目录下编写myhello.c&#xff0c;文件内容如下&#xff1a;#include <linux/module.h> #inc…

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

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

Golang 中 NATS JetStream 的高级特性有哪些?

NATS JetStream 是 NATS 消息系统的一个高级功能模块&#xff0c;提供了许多高级特性&#xff0c;使得它在处理消息时更加灵活、可靠和高效。以下是 NATS JetStream 的一些高级特性&#xff1a; 持久化消息存储&#xff1a;NATS JetStream 使用持久化存储引擎&#xff0c;可以确…

代码随想录三刷day06

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣203. 移除链表元素二、力扣707. 设计链表三、力扣 前言 递归法相对抽象一些&#xff0c;但是其实和双指针法是一样的逻辑&#xff0c;同样是当cur为空的…

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

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

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

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

力扣49.字母异位词分组

题目描述&#xff1a; 49. 字母异位词分组 难度 中等 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea"…

在Linux中查找大文件

在Linux中查找大文件&#xff0c;你可以使用find命令结合其他工具&#xff08;如sort和du&#xff09;来实现。以下是一些常见的方法&#xff1a; 1. 使用find命令查找大文件 你可以使用find命令来查找特定大小以上的文件。例如&#xff0c;要查找当前目录及其子目录中大小超…

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

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

redis的AOF机制

Redis AOF(Append Only File)机制是为了记录每一次redis命令的操作并用于恢复数据。 AOF按顺序记录每一步操作&#xff0c;例如&#xff1a; set k 3, set k 5, set k 10 &#xff0c;当服务器重启后依次执行命令恢复k 10。 日志写入有三种方式&#xff1a; Always&#x…

【【深入浅出的了解从算法到RTL的基本流程】】

深入浅出的了解从算法到RTL的基本流程 首先 明确需求 &#xff0c;明确题目 接下来是第一轮建模-------目的是 验证算法的正确性 这个阶段分为以下两个方面 一方面是 &#xff1a; 通过一些算法仿真工具来对 这个设计进行建模 — 算法原理建模 第二方面是 &#xff1a; 是 算…

hbase最新版本配置属性

1. 说明 hbase的配置属性大全 hbase版本基于 hbase-3.0.0-alpha-4 <?xml version"1.0"?> <?xml-stylesheet type"text/xsl" href"configuration.xsl"?> <!-- /*** Licensed to the Apache Software Foundation (ASF) under…

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

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

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

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

springboot207基于springboot的实习管理系统

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

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

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

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

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