c++:

注意x86/x64,vs2015.

 #include "stdafx.h"

 extern "C"
{
int Add(int a, int b) {
return a + b;
}
}

TestPlugin.cpp

 LIBRARY "TestPlugin"

 EXPORTS

 Add @

TestPlugin.def

 public class Test : MonoBehaviour {

     private void Start() {
Debug.Log(PluginDefine.Add(,));
}
}

Test.cs

jni:

java

 package com.VoidGame.test;
import android.os.Bundle;
import android.util.Log; import com.unity3d.player.UnityPlayerActivity; public class MyUnityActivity extends UnityPlayerActivity { public static MyUnityActivity Instance; protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Instance = this;
Log.d("OverrideActivity","my android activity called!");
} public int java_add(int a,int b){
return a+b;
}
}

MyUnityActivity

 <?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/> <application
android:theme="@style/UnityThemeSelector"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:debuggable="true">
<activity android:name="com.VoidGame.test.MyUnityActivity"
android:label="@string/app_name">
<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>

AndroidManifest

 /*
脚本名称:
脚本作者:
建立时间:
脚本功能:
版本号:
*/
using UnityEngine;
using UnityEngine.UI;
using System.Collections; namespace VoidGame { public class Test : MonoBehaviour { private void Start() { AndroidJavaClass cls = new AndroidJavaClass("com.VoidGame.test.MyUnityActivity");
AndroidJavaObject instance = cls.GetStatic<AndroidJavaObject>("Instance");
int result = instance.Call<int>("java_add",1,2);
GameObject.Find("Text").GetComponent<Text>().text = result.ToString();
} private void OnGUI() { }
}
}

Test

Unity3d插件开发与SDK对接实战 学习的更多相关文章

  1. 基于Unity3D 的Vuforia SDK开发基础教程

    最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ------------------------------------------ ...

  2. 关于U3D的.SDK对接

    1,SDK对接原理:https://www.cnblogs.com/msxh/p/7220741.html 2,Unity ADS对接:https://blog.csdn.net/chenluwolf ...

  3. 一个比较全面 的web项目实战学习

    一个比较全面 的web项目实战学习:http://www.cnblogs.com/jikey/p/3613082.html

  4. Docker虚拟化实战学习——基础篇(转)

    Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker   Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...

  5. Python3数据分析与挖掘建模实战 学习 教程

    Python3数据分析与挖掘建模实战 学习 教程 Python数据分析简介Python入门 运行:cmd下"python hello.py" 基本命令: 第三方库安装Windows ...

  6. Redis in Action : Redis 实战学习笔记

    1 1 1 Redis in Action : Redis  实战学习笔记 1 http://redis.io/ https://github.com/antirez/redis https://ww ...

  7. GitHub标星8k,字节跳动高工熬夜半月整理的“组件化实战学习手册”,全是精髓!

    前言 什么是组件化? 最初的目的是代码重用,功能相对单一或者独立.在整个系统的代码层次上位于最底层,被其他代码所依赖,所以说组件化是纵向分层. 为什么要使用组件化? 当我们的项目越做越大的时候,有时间 ...

  8. Unity3D协同函数与异步加载功能实战 学习

  9. Unity3D常用网络框架与实战解析 学习

    Socket using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; u ...

随机推荐

  1. IDEA中不同项目配置不同JDK

    安装JDK后,选择其中一个配置环境变量,在IDEA中可以给不同项目选择不同的JDK版本.如下图两个项目:

  2. 设置table中的td一连串内容自动换行

    遇到一长串字母撑出了td宽度,导致整个表格错乱,如图: , 解决办法: 第一: table 加上css: table-layout: fixed;(此css属性 表示 列宽由表格宽度和列宽度设定.不会 ...

  3. [MyBatis] MyBatis理论入门

    什么是MyBatis iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs) 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. MyB ...

  4. python3:利用SMTP协议发送QQ邮件+附件

    转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...

  5. ​Web安全测试解决方案

    Web安全测试解决方案 介绍常见的Web安全风险,Web安全测试方法.测试基本理论和测试过程中的工具引入

  6. [转]lua元表代码分析

    http://lin-style.iteye.com/blog/1012138 版本整理日期:2011/4/21 元表其实就是可以让你HOOK掉一些操作的一张表. 表的定义在ltm.h/c的文件里.对 ...

  7. js--单例设计模式

    通过闭包方法实现: var creatE=(function(){ var obj; return function(){ if(!obj){ } reutrn obj; } })();//自调用 c ...

  8. tableView 分割线的处理

    有时候根据UI设计图的需要我们需要对原生的TableView分割线做靠左,靠右的操作 在下面这个方法中实现即可. - (void)tableView:(UITableView *)tableView ...

  9. Samsung_tiny4412(驱动笔记03)----字符设备驱动基本操作及调用流程

    /*********************************************************************************** * * 字符设备驱动基本操作及 ...

  10. 【Java】将字节转换成十六进制、BCD码输出

    public class HexUtils { public static void main(String[] args) { byte []out = { 0, 1, 2, 3, 4, 5, 6, ...