首页 > 其他分享 >cocos嵌入安卓工程

cocos嵌入安卓工程

时间:2024-11-06 20:23:05浏览次数:3  
标签:cocos 嵌入 container androidx 安卓 activity import android

cocos打包安卓原生工程时、由于各种各样的特殊原因,需要把cocos嵌入到安卓原生工程中。但是会出现各种兼容性问题。

可以利用android的activity来妥善处理(兼容android和androidx工程!!!)

ActivityViewHelper.java 文件 封装好的工具类

import android.app.LocalActivityManager;

import android.content.Intent;

import android.view.View;

import android.view.ViewGroup;

import android.widget.FrameLayout;

import androidx.appcompat.app.AppCompatActivity;

public class ActivityViewHelper {

    /**

    * 启动指定Activity并将其DecorView添加到给定的ViewGroup中

    * @param activity 当前的AppCompatActivity

    * @param container 用来显示目标Activity视图的容器

    * @param targetActivity 目标Activity类

    */

    public static void addActivityToView(AppCompatActivity activity, ViewGroup container, Class<?> targetActivity) {

        LocalActivityManager mgr = new LocalActivityManager(activity, false);

        mgr.dispatchCreate(activity.getIntent());

        Intent intent = new Intent(activity, targetActivity);

        View decorView = mgr.startActivity("gm", intent).getDecorView();

        container.removeAllViews();

        container.addView(decorView);

    }

}

使用:

import android.os.Bundle;

import android.widget.FrameLayout;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        // 获取容器视图(假设这是一个FrameLayout)

        FrameLayout container = findViewById(R.id.container);



        // 使用封装的Helper方法将目标Activity的DecorView添加到容器中

        ActivityViewHelper.addActivityToView(this, container, AppActivity.class);

    }

}

AppActivity.class是cocos工程的类名称

后记:由于题主的目的是支持androidx,所以也可以对cocos引擎部分做一些修改、使其兼容androidx。

标签:cocos,嵌入,container,androidx,安卓,activity,import,android
From: https://www.cnblogs.com/yanyulanshan/p/18530953

相关文章

  • c++ 嵌入 python问题
     在嵌入式Python环境中,确保你的C++应用程序能够加载静态编译的Python解释器,需要设置Python解释器的搜索路径。以下是实现这一目标的步骤:1.设置环境变量你可以通过设置环境变量 PYTHONHOME 来指定Python解释器的根目录。这个环境变量告诉Python解释器去哪里查找......
  • 最新植物大战僵尸杂交版最新版本2.5.1版,内置触屏+加速+全屏,附PC+安卓+iOS最全安装教程
    植物大战僵尸杂交版链接:https://pan.quark.cn/s/9f12779d1ebd在数字世界的幻境中,总有一些不朽的传奇,它们穿越时光的洪流,持续捕获玩家的眼球与热情。《植物大战僵尸》系列无疑是这股潮流中的佼佼者,以其独创的游戏机制、多彩的角色设计以及幽默诙谐的画风,赢得了无数玩家的倾心......
  • 安卓端和鸿蒙性能测试环境脚本-sh+python
    背景:做安卓和鸿蒙性能测试,需要搭建环境,把常用的几个pip包和虚拟环境等记录一下,在新的电脑上可以快速安装(仅作为个人记录)准备工作mac电脑python版本>=3.7.9sh脚本#!/usr/local/bin/bash##########################################################################Fil......
  • RK3588嵌入式主板赋能无人机,开启高性能航拍新时代
    随着科技的飞速发展,无人机(UAV)作为现代科技的重要成果,已经从最初的军事领域逐步渗透到民用市场的各个角落。从热门的电子消费品到影视拍摄的得力助手,再到灾害救援、环保检测、电力巡检及农业生产等多领域的关键工具,无人机的应用领域日益广泛,市场需求也持续攀升。特别是在追求智......
  • 将powershell脚本嵌入至bat文件中
     如何从批处理文件执行Powershell命令?多行注释在批处理文件中执行PowerShell命令,可以使用powershell命令行工具。以下是一个简单的批处理文件示例,它执行了一个PowerShell命令来显示当前目录下的文件和文件夹列表:@echooffpowershell-Command"Get-ChildItem"......
  • CVTE - 嵌入式软件开发工程师(Linux方向)- 面经(12)
    -1、背景职位:嵌入式软件开发工程师(Linux方向)项目:2025届校园招聘提前批岗位职责:嵌入式开发工程师会参与全球市场显示类产品的开发,工作包括了系统底层驱动的调试、相关功能模块的代码实现、用户交互设计和上层应用开发等内容。负责全球市场显示类产品的系统设计、实现、优......
  • 经纬恒润 - 嵌入式软件工程师 - 面经(12)
    文章目录-1、背景0、笔试1、面经1.1、一面一二三四五六七八九十十一十二1.2、二面一2、一面(30min)-202408123、二面(30min)-20240815-1、背景职位:嵌入式软件工程师-campus-2025项目:2025届秋季校园招聘项目工作职责:在智能座舱......
  • 【嵌入式Web服务器】嵌入式Web框架选型
    1.业界流行的嵌入式端Web服务器在嵌入式平台中,内置Web界面通常用于设备配置、监控和控制。以下是一些流行的嵌入式平台Web界面框架:uIPWeb服务器框架一个非常轻量级的Web服务器框架,专为嵌入式系统设计,支持小型TCP/IP协议栈。ESP8266/ESP32Web框架针对ESP8266和ESP32......
  • 影刀RPA实战:嵌入python,如虎添翼
    1. 影刀RPA与Python的关系影刀RPA与Python的关系可以从以下几个方面来理解:技术互补:影刀RPA是一种自动化工具,它允许用户通过图形化界面创建自动化流程,而Python是一种编程语言,常用于编写自动化脚本。影刀RPA可以与Python结合使用,利用Python的强大功能来实现更复杂的自动化需......
  • 【文件系统】嵌入式文件系统Fatfs简介
    Fatfs1.Fatfs简介FatFs(FileAllocationTableFileSystem)是一个专为小型嵌入式系统设计的通用FAT文件系统模块。它完全由ANSIC语言编写,独立于硬件平台,因此具有很好的可移植性。FatFs支持FAT12、FAT16和FAT32文件系统,可以用于各种嵌入式平台,包括但不限于8051、PIC、AVR、SH、Z8......