[請益] 有關unity javascript plugin的問題

看板GameDesign (遊戲設計)作者 (迷路子)時間11年前 (2014/03/18 22:18), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
各位前輩好 最近在使用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也是正常 拜託前輩們能夠指出我哪裡有問題…… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.163.159.142

03/19 00:09, , 1F
test1/test2繼承activity?
03/19 00:09, 1F

03/19 10:13, , 2F
test1繼承activity, test2無繼承
03/19 10:13, 2F

03/21 00:27, , 3F
unity build android 會在專案裡面產生一個資料夾
03/21 00:27, 3F

03/21 00:28, , 4F
裡面會有AndroidManifest.xml 你可以看看裡面到底有什麼
03/21 00:28, 4F
文章代碼(AID): #1JA5MZ0c (GameDesign)
文章代碼(AID): #1JA5MZ0c (GameDesign)