首页 > 代码库 > unity c#互调java简单笔记,bash简单运用的地方
unity c#互调java简单笔记,bash简单运用的地方
这周跟着项目走,继续改改bug,加加中英文切换
AndroidJavaObject jo = jc.GetStatic<</span>AndroidJavaObject>("currentActivity");
UnityPlayer.UnitySendMessage("Cube","message","java call unity");
第一个是目标的名字,我直接扔进去了一盒子.
第二个参数是调用脚本的方法名字,message
第三个参数的传递进去的参数
3.需要注意的
因为android的UI不是线程安全的,所以创建任何UI是没有用的,坑爹的是竟然没有报错,让我一个Dialog怎么也整不出来也不知道是怎么回事
如果要建立ui的东西,
(1)是可以setmessage传递到主线程里
(2).runOnUiThread可以创建一个匿名线程然后在这个匿名线程里写ui的东西
4.可以提升的.
如果在unity里调用java很多第三方的sdk,那么在unity重新导包的时候,肯定要覆盖旧的adt工程.
这样以前配置好的sdk可能就不能用了,大多数不是缺失什么东西了,androidManifest被覆盖和res的东西被覆盖了,而你配置的第三方需要androidManifest给权限调用其他Application或者Activity,这样就白做了.
把AndroidManifest和res目录下一些可能写好的xml复制出来,然后导入完包后再覆盖回来是很方便的
看看library有没有丢失也是要注意的,一般每次都会丢失的.
5.bash的基本操作
因为工程原因debug的时候需要一次一次复制文件覆盖其他文件,例如xml等的覆盖,这种操作一次两次还好,但是次数多了也很烦,所以写个bash或者py是很方便的,声明我只是一个菜鸟.
以前的bash或者py都要再文件前加/usr/什么的,现在的不用了.
用了bash你会发现很多命令是和unix命令完全一样的,例如cp,rm,..
例如我需要复制当前路径下override_file文件夹里的一个AndroidManifest.xml到当前路径下
那么你可以
touch move_file.sh
创建一个move_file.sh的bash文件
sudo chmod -R 777 movefile.sh
给他权限
然后随便打开一个可以编辑文本的软件打开这个软件vi/vim什么都行
cp .override_file/AndroidManifest.xml ./
拷贝,说明下./是当前路径下的意思,其实也可以省略,但这样的更思路清晰,最后一个“./”也可以写成“.”
你可以在前面声明变量什么的
RES_DIR=./override_file/
使用的时候
cp $RES_DIR/AndroidManifest.xml ./
效果是一样的
使用sh时直接./movefile.sh..
end加油
unity c#互调java简单笔记,bash简单运用的地方