赞
踩
这个相信Android开发应该熟悉的不能再熟悉了,网上教程也有很多,在这里面就不赘述了,如果有什么问题可以私信我(建议大家还是通过自己上网查询解决)
先说一下Unity Hub在这里面的作用吧
Unity Hub 它是Unity官方提供的工具,作用的话就是帮助我们管理Unity,以及项目啊,还有一些其他的配置,为什么会把它提出来呢,事情是这个样子的 话说,那是一个月黑风高的日子(咳咳,跑题了)。。。UnityHub可以协助我们再下载Unity的时候顺便将相关联的环境也都下载下来,如Android相关的SDK, NDK等。这样就省去了我们自己下载的遍历,当然虽然之前你可能也有了这个环境,但是我还要建议你去勾选下载对应的版本。 举个例子 Unity2020稳定版本,要求NDK的版本是19.0.5232133版本,反正这个版本我是找了半天都没找到,官网都没有,很是奇葩,所以为了别像我一样浪费时间还是乖乖按照我说的直接通过Hub下载吧
现在万事俱备,准备开始吧
打开路径:菜单栏Edit -> Preferences… -> External Tools 如果按照我说的从Hub直接下载的SDK和NDK直接勾选上SDK和NDK选项就可以了,如果不是的话就指向本机上的SDK和NDK路径即可,
注意,如果SDK和NDK版本不对可能会报错
打开路径:菜单栏File -> Build Settings
这一步相当关键,我就在这一步骤上卡了好久
与正常Android项目没有区别,不再描述,不会的可以自行查询或者私信我
选择导入项目的文件夹,选择到之前说的unityLibrary 层级即可,点击finish完成导入。
在主项目app下的build.gradle中添加主Module对unity的依赖
dependencies {
...
// 添加下方代码
implementation project(':unityLibrary')
implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString() + ('\\libs'), include: ['*.jar'])
}
两种方式: - 修改了gradle文件,会在上方提示让你同步,点击同步即可
- 菜单栏点击同步
![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ae1c7781b22449929c46931ed0994f5d~tplv-k3u1fbpfcp-zoom-1.image)
在主界面创建一个按钮,点击按钮跳转到继承于上述说的UnityPlayerActivity.java即可。
package com.example.hellounity; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button unity = findViewById(R.id.go_unity); unity.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } }); } }
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns: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"> <Button android:id="@+id/go_unity" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Go Unity" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
package com.example.hellounity;
import com.unity3d.player.UnityPlayerActivity;
public class SecondActivity extends UnityPlayerActivity {
// 是的 什么也没有实现,继承就完事儿了,跑通了其他的逻辑就简单了。
}
大功告成!!!
运行,项目没有问题,但是桌面会出现两个图标,这个只需要把UnityLibrary中的AndroidManifest中的Launch去掉就可以了 本来以为这周这个任务完成不了了呢,下午居然成功了,开心,快乐,愉快滴过周末了,祝大家周末愉快,所有bug都不是你的问题!
淦就完事儿了。我是张诺然。
本文已参与「新人创作礼」活动,一起开启掘金创作之路。
这个相信Android开发应该熟悉的不能再熟悉了,网上教程也有很多,在这里面就不赘述了,如果有什么问题可以私信我(建议大家还是通过自己上网查询解决)
先说一下Unity Hub在这里面的作用吧
Unity Hub 它是Unity官方提供的工具,作用的话就是帮助我们管理Unity,以及项目啊,还有一些其他的配置,为什么会把它提出来呢,事情是这个样子的 话说,那是一个月黑风高的日子(咳咳,跑题了)。。。UnityHub可以协助我们再下载Unity的时候顺便将相关联的环境也都下载下来,如Android相关的SDK, NDK等。这样就省去了我们自己下载的遍历,当然虽然之前你可能也有了这个环境,但是我还要建议你去勾选下载对应的版本。 举个例子 Unity2020稳定版本,要求NDK的版本是19.0.5232133版本,反正这个版本我是找了半天都没找到,官网都没有,很是奇葩,所以为了别像我一样浪费时间还是乖乖按照我说的直接通过Hub下载吧
现在万事俱备,准备开始吧
打开路径:菜单栏Edit -> Preferences… -> External Tools 如果按照我说的从Hub直接下载的SDK和NDK直接勾选上SDK和NDK选项就可以了,如果不是的话就指向本机上的SDK和NDK路径即可,
注意,如果SDK和NDK版本不对可能会报错
打开路径:菜单栏File -> Build Settings
这一步相当关键,我就在这一步骤上卡了好久
与正常Android项目没有区别,不再描述,不会的可以自行查询或者私信我
选择导入项目的文件夹,选择到之前说的unityLibrary 层级即可,点击finish完成导入。
在主项目app下的build.gradle中添加主Module对unity的依赖
dependencies {
...
// 添加下方代码
implementation project(':unityLibrary')
implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString() + ('\\libs'), include: ['*.jar'])
}
两种方式: - 修改了gradle文件,会在上方提示让你同步,点击同步即可
- 菜单栏点击同步
![在这里插入图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ae1c7781b22449929c46931ed0994f5d~tplv-k3u1fbpfcp-zoom-1.image)
在主界面创建一个按钮,点击按钮跳转到继承于上述说的UnityPlayerActivity.java即可。
package com.example.hellounity; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button unity = findViewById(R.id.go_unity); unity.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } }); } }
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns: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"> <Button android:id="@+id/go_unity" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Go Unity" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
package com.example.hellounity;
import com.unity3d.player.UnityPlayerActivity;
public class SecondActivity extends UnityPlayerActivity {
// 是的 什么也没有实现,继承就完事儿了,跑通了其他的逻辑就简单了。
}
大功告成!!!
运行,项目没有问题,但是桌面会出现两个图标,这个只需要把UnityLibrary中的AndroidManifest中的Launch去掉就可以了 本来以为这周这个任务完成不了了呢,下午居然成功了,开心,快乐,愉快滴过周末了,祝大家周末愉快,所有bug都不是你的问题!
淦就完事儿了。我是张诺然。
我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。
需要的直接点击文末小卡片可以领取哦!我免费分享给你,以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持,需要的自己领取)
Android学习PDF+架构视频+面试文档+源码笔记
部分资料一览:
领取地址:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。