Android Studio 2.1 和 Unity3D 5.3.4 交互

这次博客讲解 Android Studio 怎么导出项目到 Unity。

在这里先吐槽一下天朝的防火墙,国内资料真的少,只有科学上网去查找各种资料,幸苦了一天总算能够正常使用了。

官网其实也有教程,只不过有点难看懂,还全是英文的,而且好像是使用Eclipse(猜的),地址是 http://docs.unity3d.com/Manual/PluginsForAndroid.html

这里我就介绍AS的创建方法吧。用AS新建一个工程,建议不熟的朋友和我一起使用相同的包名等。

工程名:

我的手机是魅蓝note2操作系统是5.1的,所以我选5.1,大家如果不是的话。选择自己的就行了,但建议不要用太低的,因为Unity貌似不支持4.0以前的(没尝试过)。

选择空工程

然后Next –> Finish 就行了。

建好项目后我们需要导入一个unity提供的jar包。路径是(以我自己的安装路径):

I:\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

unity新版本的jar包位置就是这里。Mac的请大家对应着找就行了,因为我没有Mac!!

切换 AS 的项目视图为Project,把路径下的classes.jar包复制进libs文件夹下

点击这个按钮,让AS重新加载(编译一下包)

加载完后就要开始修改代码了。首先修改MainActivity 继承自 UnityPlayerActivity

由于我们要让AS把工程打包,供Unity使用,所以要修改一下Gradle,双击 build.gradle

我圈出了需要修改的地方

application —>library

applicationId 这一行删掉

如图

然后再点击,让他重新加载/编译包。。

由于打包后就不由Gradle来构建项目了,所以还要修改一下 AndroidManifest 和res文件夹

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.com.exporttounity">

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
        <activity android:name=".MainActivity"
                android:label="@string/app_name"
                android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>
    </application>

</manifest>

最后在修改main_activity.xml

现在应该就可以了,点击

构建好后会弹出提示,点击在文件夹中显示

找不到的可以在项目目录下找,以我自己的为例

D:\vrTest\ExportToUnity\app\build

然后进入outputs–>aar 文件夹,就有打包好的文件了,这个*.arr 是AS的打包文件,好像它不支持打包jar还是什么的,我也不清楚,只要知道这个能用就行了。

然后打开Unity 新建一个项目,这里我就新建3D项目了 名为ImportAndroidStudioARR,新建 Plugins->Android 这样的目录,把.arr文件和AS里的AndroidManifest放进去

新建一个小场景,并保存

点击File –> Build Setting,选择Android,switch platform,点击Player Setting

不能有大写

这里最好从AS的AndroidManifest下的package那里复制来。

这里修改成我们创建安卓项目时指定的最小API

然后就好了,连上手机,点击 Build And Run 选择apk的位置,然后等待就可以了。

但是,现在他报错了!!

这个错有点坑,网上找了很多都没找到解决办法,唯一的解释就是说有的jar包重复引用了或者重名了,但明明我们就没有引用其他的包!!于是我就想到是不是AS打包时重复了,于是用压缩软件打开.arr包,发现是这样的

并没有重复啊!!于是继续打开,直到打开libs

还真有!!

最后实践证明需要删掉libs下的classes,

删掉后,重新导入.arr包,继续Build。现在终于不报错了。但是为毛显示的画面不是想象中的啊!!想想为什么是这个。。最后我们发现原来是AS中的MainActivity这里指定了打开时显示的画面,

把这行注释掉,然后重新打包,删掉libs下的classes,引入,最好把AndroidManifest也重新引入一下,最后Build,这下终于可以了!!

最后附上一张成功截图

结束。

抱歉,项目工程忘记上传了,现在补上。

http://pan.baidu.com/s/1nvMqeOp 密码:cs6h

时间: 2024-08-29 16:01:55

Android Studio 2.1 和 Unity3D 5.3.4 交互的相关文章

用Android Studio导出jar给Unity3D用

1.新建一个Android Studio工程,选择空Activity 2.创建一个Module 3.将Unity的依赖jar包拷贝到工程的libs下 4.增加Java代码 内容修改如下 package com.example.mylibrary; /** * Created by Bruce on 2017/7/11. */ import com.unity3d.player.UnityPlayerActivity; import android.app.Activity; import and

Android Studio第三十七期 - webview与js交互

代码已经整理好,效果如下图: 地址:https://github.com/geeklx/MyApplication/tree/master/p021_webviewjs

Android Studio如何导出可供Unity使用的aar插件详解 转

Android Studio如何导出可供Unity使用的aar插件详解 前言 项目之前使用Eclipse导出的jar文件来做与Android交互,最近因为工作需要需使用Android Studio的aar文件,网上参考了部分文章,也结合自己的理解重新整理一下具体的方法,通过写一个测试Demo来表述Android Studio创建aar的过程与及Unity如何使用aar文件,希望对刚好有这个需求的人能起到部分帮助与引导,同时如果文中有误希望也能不吝赐教. 版本信息 Unity 5.3.1f1, A

Android Studio 安装及常见问题

今年放假比去年早了一些,就提前回来了.感觉挺爽,结果教研室电脑没有带回来,悲剧是导师让我维护一下以前的项目,只能屁颠屁颠的搞起呀.只能用自己的笔记本搭建android开发环境.由于前阶段听说Android Studio用着爽歪歪,于是尝试在超卡的笔记本上跑Android Studio.哇咔咔,费了九牛二虎之力终于将Android Studio玩转了.先上个图,快过年了,祝大家新年快乐! Android官网也开始推广Android Studio了,以前官网好像提供Eclipse和ADT打包下载,现

Android Studio 连接真机不识别

本人也是初学..写错的请大神多多批评指正! 不胜荣幸!! 强烈推荐使用真机测试..除非是最后关头要测试各个Android系统版本.. 本人遇到的连不上的原因有以下几种: 1  --   手机设置问题.开USB调试   方法:  手机设置 - 开发人员选项 - USB调试  - 勾选 2  --   数据线问题.  有的数据线只能用来充电,有的可以连接存储.识别方法很简单..插上机器有USB存储设备的提示的就可以用.另外数据线如果都露线皮了..就赶紧扔了.十块八块的总比你为这个破问题纠结一下午的好

修改Android Studio默认的API Level(SDK版本)

原文:修改Android Studio默认的API Level(SDK版本) Android Studio(2.1.2)新建工程的时候只会让你选择最低支持的SDK版本,默认的目标编译SDK版本会以系统当前SDK中最新SDK platform作为目标的API Level.但是很多时候我们并不需要最新的SDK版本,如何修改呢? 方法是:修改工程目录中的Gradle Scripts->build.gradle(Module:app)中的相关行,具体见下图: 当然也可以图形化操作,右键工程目录选择"

Android studio界面相关设置

Android studio界面相关设置 原文出自 http://www.cnblogs.com/justinzhang/p/4274839.html 用惯了emacs的操作方式,每当使用一款新的编辑器的时候,第一个想到的就是这个工具有没有emacs的快捷键,Android studio也是一样的. 1. Android studio设置emacs的方式如下,点击File->Settings 选择其中的keymap,在keymap中选择emacs,这样就成功的设置好了emacs的操作模式: 2.

安装android studio报错Failed to install Intel HAXM.

在安装android studio的过程中,安装到android的模拟器加速器(intel HAXM)这一步时,报错: HAXM是用来管理硬件加速的,估计是用了这个东西模拟器就能Eclipse的龟速吧. 解决: 原因:没有找到reg.exe; 给reg.exe配置环境变量. reg.exe一般是在C:\Windows\System32\目录下. 可以将路径C:\Windows\System32\reg.exe配置在PATH下, 也可以直接将%SystemRoot%\system32;%Syste

Android Studio 初体验,从Eclipse到AS

这些天一直在忙着面试方面的准备以及不断更新完善我的Memory软件,不知不觉过去了好久. 由于我想对软件加入一些material design的新元素,因此去网上找对应的示例源码,突然发现除了各种教程上还在使用eclipse,这个世界几乎所有新的东东都被AndroidStudio包揽了,瞬间感觉不学AS简直就是不可逾越的交流鸿沟.因此网上买了个VPN翻墙,用了几天时间,终于搞明白了AS的基本用法.在此分享一下自己的学习心得. 自己是从Eclipse转到AS上的,所以在学习AS当中, 必然下意识的