unity与Android的交互初接触
来源:互联网 发布:ubuntu安装中文界面 编辑:程序博客网 时间:2024/05/16 08:55
嵌入sdk是比较常见的吧,如接入广告啊,新浪的分享...... 这些都需要接入sdk的,现在我们从最基本的做吧,其实这些和什么引擎都是没多大关系的,不管是unity,还是cosos2d...... 说白了,这些就是和移动平台有关系,ios,android,wp8啊。
我这篇文章实现Unity打电话一个简单的案例!下面开始吧:
1、打开你电脑中的eclipse软件
2、新建一个Android项目,我画红圈的地方请注意,包名要记好之后要用,最小版本选4.0.以上,之后一路next新建项目直到finish。
3、之后在你的电脑中找到一个叫做classes.jar的文件,我的unity是unity5.2,对应的路径是D:\unity\Editor\Data\PlaybackEngines\androidplayer\Variations\mono\Release\Classes。其中unity自从升级后,classes.jar从原来的一个变成了多个,例如我的电脑里D:\unity\Editor\Data\PlaybackEngines\androidplayer\Variations\il2cpp\Release\Classes里面也有一个,这就要看你做什么了,是mono就用上面那个路径的,是il2cpp就用下面那个路径的,具体这两个有什么区别,请自行百度。
4、将classes.jar直接拖拽至bin当中。
5、右键添加至构造路径。
6、进行代码编写首先打开AndroidManifest.xml,因为要打电话,所以添加拨号权限。(<uses-permission android:name="android.permission.CALL_PHONE" />)
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hjc.call" android:versionCode="1" android:versionName="1.0" > <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
7、进行代码编写MainActivity。
package com.hjc.call;import com.unity3d.player.UnityPlayerActivity;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;public class MainActivity extends UnityPlayerActivity {Activity activity = null;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}public void call(String str) {Intent tt = new Intent();tt.setAction(Intent.ACTION_CALL);tt.setData(Uri.parse("tel:"+ str));startActivity(tt);}}
8、之后导出jar包,右键工程->Export->Jar file。
9、unity建立如下图文件结构(照做哦)。
10、将eclipse导出的jar包拖入unity里面新建的bin文件夹里。
11、将eclipse工程中的AndroidManifest.xml也拖进unity的Android文件夹中。
12、其实eclipse工程里面的res文件也是要拖到unity里面Android文件夹下的,只是我做的这个暂时用不到res里面的资源,所以用unity修改一下AndroidManifest.xml的内容,如下:android:theme="@android:style/Theme.NoTitleBar"
android:icon="@drawable/app_icon"
android:label="@string/app_name",这样就不需要res了。
android:icon="@drawable/app_icon"
android:label="@string/app_name",这样就不需要res了。
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hjc.call" android:versionCode="1" android:versionName="1.0" > <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:theme="@android:style/Theme.NoTitleBar"android:icon="@drawable/app_icon"android:label="@string/app_name" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
13、unity里面新建一个脚本,来调用java类。
using UnityEngine;using UnityEngine.UI;using System.Collections;public class test : MonoBehaviour {public InputField shuru;public void callPrint() {AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject> ("currentActivity");jo.Call ("call", shuru.text);}}
14、配置号码填写框和一个button,并配置其关系,这一步明白unity的实现很简单。
15、导出apk,切记导出时的包名必须和eclipse工程的包名一致!!
16、在真机上安装apk。
(我的组件做的很随意,显得太小了)
如果有错,欢迎纠正。
附上老大的照片:
1 0
- unity与Android的交互初接触
- [Android交互]Android与Unity的交互
- unity与Android的交互
- Unity与Android的交互
- Unity 与 Android (Android Studio)的交互
- Unity 与 Android (Android Studio)的交互
- unity与android交互
- Unity与Android交互
- Unity与Android交互
- Unity与Android交互
- Unity与Android交互
- unity与ANDroid交互
- unity与android交互
- unity与android交互
- Unity与Android交互
- Unity 与 Android交互
- Android与unity交互
- 初探Unity与android的交互
- spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
- 微信小程序带来的颠覆
- 计算机开机滴滴声解决办法
- 图像频域滤波白话解释
- Redis的持久化
- unity与Android的交互初接触
- Oracle笔记(六)
- 修改android设备号
- Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
- iOS开发之NSNotificationCenter(通知)使用介绍
- mysql的列类型
- Java异常使用
- JDBC操作DAO的通用类
- 微信统一下单接口body为中文,报【签名错误】的解决办法