[请益] 有关unity javascript plugin的问题

楼主: oikl1268 (迷路)   2014-03-18 22:18:08
各位前辈好
最近在使用unity时用到了plugin
先前没有接触过android端,在写plugin时遇上了一些问题
翻了unity和android java的网页也都不知道答案
我使用的工具:unity 4.3.4、eclipse,皆是空专案
以下是我如何进行:
在eclipse中新增了一个package,于其下建立了两个.java档,分别为test1及test2
test1并没有做修改,test2则有一个showtest2() function会呼叫一个alert视窗出现
我将这两个.java "个别" export成.jar档,一个.jar只包含了一个class
在unity中则是写了一个C# script用以呼叫test2来显示alert视窗
于场景中建立空的gameobject将该C# script挂上,只要在手机上一执行就会呼叫test2
接下来就是我疑问的地方了(以下为依序进行)
1.我只把.jar复制到plugins/Android中,build apk然后执行→alert视窗正常显示
2.修改AndroidManifest.xml,在其中宣告test1和test2,test1为MAIN
build apk然后执行→alert视窗正常显示
3.再次修改AndroidManifest.xml,这次只宣告了test1为MAIN,将test2从manefest中删除
build apk然后执行→alert视窗正常显示
4.建立一个新的package,将test1与test2分开至不同的package,依然export成两个.jar
沿用step3的manifest档,build apk然后执行→游戏一启动后立刻闪退
5.再次修改AndroidManifest.xml,将test2加入
build apk然后执行→alert视窗正常显示
第2步、第4步及第5步我都可以理解为什么会产生那样的结果
step 2和5都是两者皆有宣告,因此正常执行没问题
step 4则是因为test2未宣告而造成程式呼叫出错而闪退
(如果我这几点理解有错,拜托告诉我~~>"<)
最有问题的是第1步和第3步
对于第1步我根本没放AndroidManifest.xml但程式仍能正常呼叫test2的猜测
可能是unity会自动产生AndroidManifest.xml并把这两个加进去?
对于第3步则是猜测因为两者是在相同的package底下,所以在AndroidManifest.xml宣告了
test1后,因为package相同,所以可以抓到相同package的test2?
这两个疑问困扰了我四天了
查了很多文章,有教学的有发问的,但没有见到有人和我一样有相似的问题
(unity answer上有篇问javaplugin,内容和这篇很像的是我发的)
大多都是说AndroidManifest.xml很重要,一定要有,没有的话会有问题
但我step1压根没放,也是正常执行
然后说一定要在AndroidManifest.xml宣告每个activity,但我step3没宣告test2也是正常
拜托前辈们能够指出我哪里有问题……
作者: pepsicola (喵吉拉)   2014-03-19 00:09:00
test1/test2继承activity?
楼主: oikl1268 (迷路)   2014-03-19 10:13:00
test1继承activity, test2无继承
作者: lovecold (小猪头)   2014-03-21 00:27:00
unity build android 会在专案里面产生一个资料夹里面会有AndroidManifest.xml 你可以看看里面到底有什么

Links booklink

Contact Us: admin [ a t ] ucptt.com