Andriod Unity 调用android函数
//首先这是一个前沿
//我看了多的资料,还看了近半个小时的 android activity 的讲解
终于打出了apk
//接下来开始
//一步一步的跟着我走
1.创建一个android项目或者一个modudle 其项目类型为android library !android library ! android library !
2.包名可以是你的unity包名,也可以不是,反正放到unity需要查看那个 .xml 你的package
3.把 C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 中的class.jar
复制到你的android项目中的libs文件中
4.鼠标点击libs里的那个包并右键 -> Add as library //作用是添加此包的依赖
5.由于module类型为android library 所以没有主类文件和activity这个东东 所以没有主类文件和activity这个东东 所以没有主类文件和activity这个东东
重要的我说三遍
6.接下来创建一个主类,你可以自定义类名字,但最好跟着哥哥走
MainActivity.java
package com.aprivate.lib;
import android.app.Service;
import android.os.Bundle;
import android.os.Vibrator;
import com.unity3d.player.UnityPlayerActivity; public class MainActivity extends UnityPlayerActivity
{ @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
} public void OnAndroidVibrate(String str)
{
Vibrator m_vibrator = (Vibrator) getApplication().getSystemService(Service.VIBRATOR_SERVICE);
m_vibrator.vibrate(10000);
} }
7.不要问为什么,这个功能是点击按钮手机震动
8.m_vibrator.vibrate(10000); 是要手机震动权限的 所以
// 再AndroidManifest.XML 中加入 <uses-permission android:name="android.permission.VIBRATE" />
// 不知道加再哪里的眼睛看过来
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.aprivate.lib" > <uses-permission android:name="android.permission.VIBRATE" />
<application
android:allowBackup = "true"
android:label = "lib">
<activity android:name=".MainActivity" android:label="lib">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
9.接下来搞得差不多了 请注意上面这个xml ,是有
<activity android:name=".MainActivity" android:label="lib">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
10.因为unity调用android时两个Activity 不要问为什么,i not no;
11.然后点击android studio 菜单栏中的 build -> make modudle '????'
12.unity 要有这个路径 Assets\Plugins\Android 没有的create
13.将build/outputs/arr/中的arr(用解压工具)中的libs 和 res 和 androidManifest.xml 和 classes.jar 复制到 unity Assets\Plugins\Android 路径下
14.将外面大概2.0k 的 classes.jar 替换 libs中的.jar
15.至此 工程完成
16.写调用android中的函数
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
if (jo != null)
{
m_text.text = "jo 不为null"; jo.Call("OnAndroidVibrate", ""); }
else
{
m_text.text = "jo 为null";
}
17. 我的测试成功 而且xml中的package 中的包和我unity中的包时不对应的
18.我的android library 的api等级要小于我的unity中的api等级
unity中的为 4.1 level 16
android中的则为 4.0
19 android 中的SDK 和 untiy 用的SDK时同一个
20. 如有不懂或者出错的 请评论
Andriod Unity 调用android函数的更多相关文章
- unity 调用android函数
unity 调用android函数 分类: unity2013-12-19 17:54 475人阅读 评论(0) 收藏 举报 unityandroidjar 我们知道,安卓project都有一个And ...
- unity调用Android的jar包
简介 有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如... 有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去 ...
- Unity调用Android相册
最近有一个项目有这个需求,让用户上传自己的交易凭证的截图,之前因为对调Android原生的东西不太熟悉,就先放了一边 因为项目已经上线,只不过是该功能未开放而已,那么现在为什么要写这篇博客呢,是因为. ...
- Unity调用Android类方法
Unity调用Android类方法 1. 添加Unity的classes.jar文件 创建一个Android工程AndroidUnityDemo. 由于Unity的版本不同,直接在Unity安装包文 ...
- Unity调用Android
1.Unity调用Android 根据unity用户手册,unity可以采用native code(c/c++),但是也提供了C#调用方法,本文对此进行简单讲解. 2.Unity获取android类 ...
- Unity 调用android插件
1. Unity的Bundle Identifier必须和你的android报名一致 Activity和View的区别: Activity应该是一个展示页面,View是页面上一些按钮视图等等. 如何调 ...
- Unity调用Android的两个方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
- unity调用Android百度地图
由于个人是Android小白,在这个配置上面被折磨了很久,因此写下这篇文章 工具:eclipse + unity5.6.1 首先去百度地图开发者平台下载你需要的资源,我只需要显示地图和定位,这个时候你 ...
- unity调用Android的两种方式:其二,调用aar包
上一篇我们讲了unity如何调用jar包 http://www.cnblogs.com/Jason-c/p/6743224.html, 现在我们介绍一下怎么生成aar包和unity怎么调用aar 一. ...
随机推荐
- mysql数据库用户权限设置
设置用户权限:格式:grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' identified by '密码'; * 权限列表:用于列出授权的各种数据库操作,通过逗号进行分割,如 ...
- LinkedBlockingQueue 学习
LinkedBlockingQueue 链表队列,其元素构成为: static class Node<E> { E item; Node<E> next; Node(E x) ...
- Vuex白话教程第六讲:Vuex的管理员Module(实战篇)
写在前面 这一讲是 Vuex 基础篇的最后一讲,也是最为复杂的一讲.如果按照官方来的话,对于新手可能有点难以接受,所以想了下,决定干脆多花点时间,用一个简单的例子来讲解,顺便也复习一下之前的知识点. ...
- Django之template操作
一.模板渲染的原理 (一)使用 模板渲染首先有一个模板对象Template,然后有一个上下文对象Context,通过render方法进行渲染,最后返回字符串,render方法的本质还是调用了HttpR ...
- ES6(阮一峰)对象的扩展
1.属性的简洁表示法 允许直接写入变量和函数,作为对象的属性和方法. const foo = 'bar'; const baz = {foo};//等同于 const baz = {foo : &qu ...
- vue子组件获取父组件方法
注:以下代码未使用esLint语法检查 父组件: <template> <div class="wrapper"> <cp_action @paren ...
- linux安装zabbix的tar包和另外一个并存
在安装zabbix客户端的时候,发现存在一个zabbix客户端,现在我们要重新建一个来与之并存 第一步安装: cd /data0/software/ tar xf zabbix-3.0.28.tar. ...
- MapFields和并行计算(OpenFOAM)
这几天研究了一下OpenFOAM里的MapFields和并行计算,总结一下. Case 1 先进行并行计算 SetFields 初始化流场 decomposePar 把初始化好的流场分块 mpirun ...
- Delphi Close、Halt、terminate、ExitProcess的区别
Close:1.只关闭本窗体2.当Close是一个主窗体时,程序会退出.3.Close会发生FormClose事件,FormCloseQuery事件4.主窗体close以后程序就Application ...
- CSP-S2019退役记
分两次写完思路不是很清晰. 作为一名强迫症患者我选择以后再更新一些细节…… upd 真·退役,D1T1为什么都是95分算法他们AC了我挂成了70分555555555555 普及-的题目A不掉我死了55 ...