本文档为了整理安卓包中 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插件 下一步研究