Android制作Unity插件

本文档为了整理安卓包中 Unity 调用安卓中的功能 包括:接入别的 App   安卓 SDK 安卓本身的一些功能  
1. Unity 必须要设置好安卓环境 百度一下 自己配置
2.  值得注意的是 我们的安卓 sdk 最高是 26 所以要注意
3. Jdk 建议 1.8 足够
 
Unity Android 文件位置配置

Plugins/Android/
1.  假如你的 jar 包不需要继承 activity
  那么我们完全可以将 jar 包放入 Android 下任意一个名字文件夹 /libs 中 这时候我们的调用方法为

2.  假如你的 jar 包需要继承 activity
我们的 jar 包依然放在 libs 上,我们需要设置 AndroidMainfest.Xml 为了让 unity 与你的 jar 包不在产生包名的羁绊

这里 package 设置为:
package="com.unity3d.player" 
默认/主activity 为com.unity3d.player.UnityPlayerActivity
我们自己的activity可以放在下面 ps;必须包名完整 否则会和你的untiy设置包名一样
 
 //获取unity 的activity 下面两个 
   AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
   AndroidJavaObject activity = jc.GetStatic<AndroidJavaObject>("currentActivity");
因为 Android中的Activity需要上下文环境,所以我们需要一个上一个activity进行跳转
在安卓中 Java调用 Unity方法
 
UnityPlayer.UnitySendMessage("Unity中的物体名字", "捆绑脚本身上的方法名", 数据); 
AndroidStudio 打jar包的方法

AndroidStudio 在build.gradle中設置

from('build/intermediates/bundles/release/') 这个地址是你的脚本运行生成class。Jar的位置
别的 百度一下
// task to delete the old jar
task deleteOldJar(type: Delete) {
    delete 'release/MyPhoto.jar'
}
// task to export contents as jar
task exportJar(type: Copy) {
    from('build/intermediates/bundles/release/')
    into('release/')
    include('classes.jar')
    rename('classes.jar', 'MyPhoto.jar')
}
exportJar.dependsOn(deleteOldJar, build)
 

有一种方法,可以通过不继承activity 但是可以执行activity的类型行为 记录

//我還在學者做 以後會增加

3.AndroidStudio 生成arr包 并且制作Unity插件 下一步研究

 

 
 
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页