【Android】Android与Unity安卓AR通信(3)

简介: unity导出作为安卓项目中的库来使用1. 首先打开一个安卓项目2. 准备好unity中Export出的安卓包

【Android】Android与Unity安卓AR通信(3)

unity导出作为安卓项目中的库来使用

  1. 首先打开一个安卓项目
  2. 准备好unity中Export出的安卓包

unity

在unity中勾选

网络异常,图片无法展示
|

然后export

安卓

打开一个现有的,取消gradle的下载,在Project Structure中设置自己下好了的gradle版本,如下是我的版本

网络异常,图片无法展示
|

1. 找不到unityStreamingAssets文件错误

网络异常,图片无法展示
|

在gradle.properties里添加如下代码

unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist

  1. 找不到NDK

Location specified by ndk.dir (D:\AndroidTool\TEMP\android-ndk-r16b) did not contain a valid NDK

网络异常,图片无法展示
|

ndk.dir=D\:/Unity/UntiyDownLoad/2020.3.26f1c1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK

尝试将Unity中AR项目导入到AS

网络异常,图片无法展示
|

解决方案:

1.删掉setting.gradle中的部分代码

网络异常,图片无法展示
|

2.将项目的build.gradle更改

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

   repositories {

       google()

       mavenCentral()

   }

   dependencies {

       classpath"com.android.tools.build:gradle:7.0.4"

 

       // NOTE: Do not place your application dependencies here; they belong

       // in the individual module build.gradle files

   }

}

 

 

allprojects {

   buildscript {

       repositories {

           google()

           jcenter()

       }

   }

 

   repositories {

       google()

       jcenter()

       flatDir {

           dirs"${project(':unityLibrary').projectDir}/libs"

       }

   }

}

taskclean(type: Delete) {

   deleterootProject.buildDir

}

3.MainActivity中样例代码

packagecom.unity3d.player;

 

importandroidx.appcompat.app.AppCompatActivity;

 

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.Button;

 

publicclassMainActivityextendsAppCompatActivity {

 

   @Override

   protectedvoidonCreate(BundlesavedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main);

 

       Buttonbutton=(Button)findViewById(R.id.button);

       button.setOnClickListener(newView.OnClickListener() {

           @Override

           publicvoidonClick(Viewview) {

               Intentintent=newIntent(MainActivity.this,UnityPlayerActivity.class);

               startActivity(intent);

           }

       });

   }

 

 

}

activity_main.xml样例代码

<?xmlversion="1.0"encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"

   xmlns:app="http://schemas.android.com/apk/res-auto"

   xmlns:tools="http://schemas.android.com/tools"

   android:layout_width="match_parent"

   android:layout_height="match_parent"

   tools:context=".MainActivity">

 

   <TextView

       android:id="@+id/textView"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="Hello World!"

       app:layout_constraintBottom_toBottomOf="parent"

       app:layout_constraintLeft_toLeftOf="parent"

       app:layout_constraintRight_toRightOf="parent"

       app:layout_constraintTop_toTopOf="parent"/>

 

   <Button

       android:id="@+id/button"

       android:layout_width="0dp"

       android:layout_height="0dp"

       android:text="Button"

       app:layout_constraintBottom_toBottomOf="parent"

       app:layout_constraintEnd_toEndOf="parent"

       app:layout_constraintHorizontal_bias="0.529"

       app:layout_constraintStart_toStartOf="parent"

       app:layout_constraintTop_toTopOf="parent"

       app:layout_constraintVertical_bias="0.27"/>

 

</androidx.constraintlayout.widget.ConstraintLayout>


相关文章
|
3月前
|
编译器 vr&ar 图形学
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
这是一篇Unity3D结合Vuforia实现增强现实(AR)项目的入门教程,涵盖了环境配置、Vuforia账户注册、Target数据集创建、Unity项目设置、AR程序配置、Android环境配置以及最终在手机上测试运行的全过程。
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
|
2月前
|
Java Android开发 数据安全/隐私保护
Android中多进程通信有几种方式?需要注意哪些问题?
本文介绍了Android中的多进程通信(IPC),探讨了IPC的重要性及其实现方式,如Intent、Binder、AIDL等,并通过一个使用Binder机制的示例详细说明了其实现过程。
302 4
|
3月前
|
Android开发
我的Android进阶修炼:安卓启动流程之init(1)
本文深入分析了Android系统中的init进程,包括其源码结构、主要功能以及启动流程的详细注解,旨在帮助读者理解init作为用户空间的1号进程在Android启动过程中的关键作用。
60 1
|
3月前
|
图形学 Android开发 iOS开发
穿越数字洪流,揭秘Unity3d中的视频魔法!Windows、Android和iOS如何征服RTSP与RTMP的终极指南!
【8月更文挑战第15天】在数字媒体的海洋中,实时视频流是连接世界的桥梁。对于那些渴望在Unity3d中搭建这座桥梁的开发者来说,本文将揭示如何在Windows、Android和iOS平台上征服RTSP与RTMP的秘密。我们将深入探讨这两种协议的特性,以及在不同平台上实现流畅播放的技巧。无论你是追求稳定性的RTSP拥趸,还是低延迟的RTMP忠实粉丝,这里都有你需要的答案。让我们一起穿越数字洪流,探索Unity3d中视频魔法的世界吧!
61 2
|
3月前
|
Java 网络安全 开发工具
UNITY与安卓⭐一、Android Studio初始设置
UNITY与安卓⭐一、Android Studio初始设置
|
3月前
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
4月前
|
Java Android开发 Spring
Android Spingboot 实现SSE通信案例
【7月更文挑战第14天】以下是使用Android和Spring Boot实现SSE(Server-Sent Events)通信的案例摘要: 在`MainActivity`中: - 初始化界面元素并设置按钮点击事件。 - `startSseRequest`方法创建`WebClient`对象,设置请求头,发送请求,并处理响应和错误。 请确保将`your-server-url`替换为实际的服务器地址。
114 14
|
2月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
150 0
|
3月前
|
vr&ar 图形学 开发者
步入未来科技前沿:全方位解读Unity在VR/AR开发中的应用技巧,带你轻松打造震撼人心的沉浸式虚拟现实与增强现实体验——附详细示例代码与实战指南
【8月更文挑战第31天】虚拟现实(VR)和增强现实(AR)技术正深刻改变生活,从教育、娱乐到医疗、工业,应用广泛。Unity作为强大的游戏开发引擎,适用于构建高质量的VR/AR应用,支持Oculus Rift、HTC Vive、Microsoft HoloLens、ARKit和ARCore等平台。本文将介绍如何使用Unity创建沉浸式虚拟体验,包括设置项目、添加相机、处理用户输入等,并通过具体示例代码展示实现过程。无论是完全沉浸式的VR体验,还是将数字内容叠加到现实世界的AR应用,Unity均提供了所需的一切工具。
127 0
|
3月前
|
Android开发
Android项目架构设计问题之C与B通信如何解决
Android项目架构设计问题之C与B通信如何解决
17 0