目的
? ? ? 1. 為什么要寫“Unity開發(fā)微信登陸”空免?
? ? ? unity如果想使用微信登陸一般有兩種方法,第一種接入第三方SDK比如ShareSDK惠奸,但是我使用后只能說一句垃圾,問題很多略就,每一次都要和客服溝通后一步一步解決兄墅,到了最后可能依然出現(xiàn)問題踢星,比如拿不到回調(diào)或者拿不到用戶信息。無奈的我只能走第二種方法隙咸,通過微信SDK沐悦,在原生平臺上開發(fā)成洗,到處包給unity調(diào)用,完成微信登陸授權(quán)開發(fā)藏否。
? ? ? 2. 為什么要寫“Unity與Android交互”瓶殃?
? ? ? 通過上 面可以知道,想通過第二種方法完成微信登陸副签,必須在原生平臺中開發(fā)(本文是AndroidStudio)遥椿,那么必須涉及到Unity調(diào)用Android中的某些方法方法,而本文講述一個Unity調(diào)用Android的實例來完成Unity對Android方法的調(diào)用淆储,為下一篇冠场,調(diào)用微信方法做鋪墊。
開發(fā)工具本砰、環(huán)境
? ? ? Unity5.5Pro碴裙、Android Studio2.3.3、jdk1.8点额。Mac10.12.5上開發(fā)舔株。
? ? ? Mac如何安裝Unity:點擊查看
? ? ? Mac安裝AndroidStudio完全是傻瓜式的。
? ? ? Mac上在官網(wǎng)下載jdk1.8还棱,安裝后無需配置環(huán)境變量督笆,直接java -version就有了。诱贿。爽~~
先在AndroidStudio中工作
1. 新建工程
? ? ? 只需要注意,AndroidStudio中新建項目的包名和Unity發(fā)布安卓時候設(shè)置的包名要一致咕缎。
2.倒入jar包
? ? ? 將Unity路徑下的Classes.jar倒入到AS的lib目錄下珠十,然后右鍵將jar包"Add as library"。
3. 編寫MainActivity代碼
4. 修改AndroidManifest.xml
5. 修改build.gradle
6.刪除部分文件
7. 修改
8. 生產(chǎn)arr包
? ? ? 點擊查看arr和jar包的區(qū)別
? ? ? Build->Build APK
? ? ? 成功會在app\build\outputs\aar目錄下出現(xiàn)一個app-debug.aar包
? ? ? 然后用 解壓軟件打開這個包凭豪,刪掉libs下的classes.jar(沒錯焙蹭,就是之前重unity中拷過來的)
? ? ? 因為unity打包時會重新把自帶的classes.jar打進去,如果不刪掉它會打包報錯嫂伞,沖突
? ? ? 然后這就是最終需要的aar包
? ? ? 把arr和AndroidManifest.xml都放在一個地方等待在unity中使用
Unity中調(diào)用
Unity新建一個工程孔厉,設(shè)置jdk,安卓的SDK帖努。
注意了撰豺!我用的是截止文章最新版AS,你們用AS自帶的SDK可能出現(xiàn)不能打包的情況拼余,這是因為最新SDK中的tools是unity打包用不了的污桦,我自己組裝了一個,放在云盤這里了:
鏈接:http://pan.baidu.com/s/1qY2TEoO? 密碼:dzds
然后在Assets目錄下新建我們需要的目錄凡橱,Assets\Plugins\Android小作,并把我們的ass包和AndroidManifest.xml放到里面。
我們編寫一個類掛在攝像機上稼钩,隨機生成兩個數(shù)顾稀,點擊點擊事件,然后調(diào)用安卓中的方法相加坝撑。
點擊事件代碼如下:
掛載然后設(shè)置點擊事件后静秆,打包,運行成功:
依然存在一個問題绍载,我們再打開應(yīng)用的時候短暫的瞬間诡宗,可能會出現(xiàn)這樣的現(xiàn)象:
解決方法:
下面這個代碼的意思是:透明背景并無標(biāo)題,全屏
xml倒入后击儡,打包塔沃,沒有黑屏現(xiàn)象了。美滋滋阳谍。
Unity和AS項目代碼已經(jīng)上傳百度云: 鏈接:http://pan.baidu.com/s/1dFAH8AX? 密碼:4805