在com.unity3d.player中找不到UnityPlayerActivity类。

问题描述 投票:1回答:2

我正试图为我的Unity游戏创建一个Android插件。我看了很多教程(大部分都是基于eclipse的过时教程),也看了文档。我使用的是Unity 2019.3.0f6。我想用UnityPlayerActivity扩展我在Android Studio项目中的主活动。

enter image description here

我不明白结尾的句子是什么意思"Locate the file, and add classes.jar to the classpath Unity uses to compile the new Activity. Compile your Activity source file and package it into a JAR or AAR package, then copy it into your Project folder"

我知道UnityPlayerActivity不存在于PlaybackEnginesAndroidPlayerVariationsmono或il2cppDevelopment或ReleaseClasses的classes.jar中,所以我无法导入com.unity3d.player.UnityPlayerActivity;我只能导入UnityPlayer和IUnityPlayerLifecycleEvents。我也很想了解什么是UnityPlayer类和IUnityPlayerLifecycleEvents。

enter image description here

但是UnityPlayerActivity.java在C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\src\comunity3dplayer中可以找到。

我如何在Unity3d库或classes.jar中添加它。甚至导入它来扩展我的mainactivity。我不明白我在这里做错了什么。我正在使用Android Studio,虽然我是新手。

java android unity3d plugins
2个回答
1
投票

别担心,给unity做安卓插件,刚开始可能会有点乱,如果你没有任何安卓的经验就更乱了!

一些小技巧。

  • 项目目录结构应该是: Assets/Plugins/Android (这很重要,我一直在为这个愚蠢的东西奋斗) 此处)
  • 插入 classes.jar 在AndroidStudio项目中 app/libs.
  • 插入外部依赖关系(如果你正在使用它),如 "support-v4-24.1.1 "到 Android/libs

要在AndroidStudio上创建插件,你需要创建一个库(这个步骤是从一个活动中创建的)。

  • 在graddle上删除ID行
  • 在同一个文件中,改变 .implementation.library

要重新编译该插件,请按照以下步骤进行。

  1. 重建AndroidStudio解决方案

  2. 进入AndroidStudio解决方案...app\build\outputs\aar 获取 .aar档案

  3. 复制并粘贴,将扩展名从 .aar.zip.rar
  4. 打开修改后的文件,提取2项。

    • classes.jar (这是另一个classes.jar,不是你AndroidStudio项目中存储在applibs中的那个)
    • AndroidManifest.xml
  5. 将这些文件复制到Unity项目中 Assets/Plugins/Android(记住,项目目录结构很重要!)

您可以下载 classes.jar 文件(第一个)从我的 公用事业_Repo 或从你命名的路径 D:\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Development\Classes\classes.jar.


1
投票

有一个非常伟大的教程和附带的YouTube视频,如何使原生的Android插件,并纳入Unity 3D。

http:/www.cwgtech.comusing-android-webview-to-display-a-webpage-on-top-of-the-unity-app-view

© www.soinside.com 2019 - 2024. All rights reserved.