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