//首先这是一个前沿

//我看了多的资料,还看了近半个小时的 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函数的更多相关文章

  1. unity 调用android函数

    unity 调用android函数 分类: unity2013-12-19 17:54 475人阅读 评论(0) 收藏 举报 unityandroidjar 我们知道,安卓project都有一个And ...

  2. unity调用Android的jar包

    简介 有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如... 有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去 ...

  3. Unity调用Android相册

    最近有一个项目有这个需求,让用户上传自己的交易凭证的截图,之前因为对调Android原生的东西不太熟悉,就先放了一边 因为项目已经上线,只不过是该功能未开放而已,那么现在为什么要写这篇博客呢,是因为. ...

  4. Unity调用Android类方法

    Unity调用Android类方法 1.  添加Unity的classes.jar文件 创建一个Android工程AndroidUnityDemo. 由于Unity的版本不同,直接在Unity安装包文 ...

  5. Unity调用Android

    1.Unity调用Android 根据unity用户手册,unity可以采用native code(c/c++),但是也提供了C#调用方法,本文对此进行简单讲解. 2.Unity获取android类 ...

  6. Unity 调用android插件

    1. Unity的Bundle Identifier必须和你的android报名一致 Activity和View的区别: Activity应该是一个展示页面,View是页面上一些按钮视图等等. 如何调 ...

  7. Unity调用Android的两个方式:其一、调用jar包

    unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...

  8. unity调用Android百度地图

    由于个人是Android小白,在这个配置上面被折磨了很久,因此写下这篇文章 工具:eclipse + unity5.6.1 首先去百度地图开发者平台下载你需要的资源,我只需要显示地图和定位,这个时候你 ...

  9. unity调用Android的两种方式:其二,调用aar包

    上一篇我们讲了unity如何调用jar包 http://www.cnblogs.com/Jason-c/p/6743224.html, 现在我们介绍一下怎么生成aar包和unity怎么调用aar 一. ...

随机推荐

  1. 前端,用js根据一个对象,去除另个对象中重复的元素

    这里的应用场景是,两个div盛放待选项目和已选项目,如下图 <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> < ...

  2. 笔记68 Redis数据库

    一.Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI ...

  3. Java优化性能

    尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并 ...

  4. Java 基础 -- BigInteger BigDecimai大数

    BigInteger 加减乘除 BigInteger bi1 = new BigInteger("123456789") ; // 声明BigInteger对象 BigIntege ...

  5. J2EE学习篇之--Spring技术详解

    今天我们来看一下Spring的相关知识,我们知道Spring也是一个开源的框架,这个框架并不像是Struts一样,这个框架是可以用在Java的所有地方,所以,其实开发Android的时候我们也是可以使 ...

  6. ac自动机fail树上按询问建立上跳指针——cf963D

    解法看着吓人,其实就是为了优化ac自动机上暴力跳fail指针.. 另外这题对于复杂度的分析很有学习价值 /* 给定一个母串s,再给定n个询问(k,m) 对于每个询问,求出长度最小的t,使t是s的子串, ...

  7. NX二次开发-Block UI C++界面Face Collector(面收集器)控件的获取(持续补充 )

    Face Collector(面收集器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize() ...

  8. Selenium2Library中select frame关键字对没有name和id的frame或者iframe的处理

    elenium2Library中原有的select_frame函数(对应的关键字为select frame)可根据locator选择frame,但是,若某个frame或者iframe没有id,没有na ...

  9. robotframework + selenium2library 一点测试的经验

    1 对于元素的外层包括frame/iframe标签的.一定要先select  frame name=xxx,然后再操作元素. Select frame name=新建个案 click element ...

  10. html+css判断各个IE浏览器版本

    html+css判断各个IE浏览器版本 在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了. 在HT ...