请问安卓上的软件是java语言开发的,游戏引擎是unity3D,语言是C#。
你可以理解为unity是一个播放器,英文名是Player-Game Player。游戏在玩家身上运行。
在unity中,我们更喜欢C#是一种脚本语言。这个脚本在播放器的主机上运行。这类似于浏览器上运行的JavaScript。没有浏览器,JavaScript无法运行。
(这还不包括node.js、windows host js等特殊情况。)
所谓脚本,就是主机直接负责解释,不需要编译本地机器码(包括java字节码、汇编等。),也就是游戏玩家负责解读,这就使得C#和Android系统的关系很少发生。
如果你不能理解播放器是什么,想想音乐播放器,视频播放器,或者更恰当地说,早期的flash播放器。Flash player可以玩游戏。鼠标,键盘操作,脚本都是和玩家打交道。
这款unity播放器可以在windows、Android、iOS和浏览器上运行。Unity游戏,如何与Android系统交互,这是unity负责的。C#只负责执行脚本形式的游戏逻辑。
注意:以上讨论只是一个简化,实际过程比这个复杂。比如虽然是C#脚本,但还是涉及到一些编译工作,还有打包压缩工作。