在給項目接入廣告的過程中,碰到了一些問題
在接入AdMob時,單獨的打包是沒有問題的,但一將facebook的資源和AdMob的資源同時導(dǎo)入到工程內(nèi),那問題就來了
遇到的第一個問題:jar包沖突
因為導(dǎo)入進來的資源都是aar文件你不知道他里面裝了哪些東西又和其他的哪些文件沖突,只有再打包過程中查看報錯信息,去看編輯器的log才能看到到底是那個jar包沖突最簡單的方法當(dāng)然是del刪除掉,但是你會發(fā)現(xiàn)當(dāng)你刪除了其中一個文件之后,facebook和admob的所有資源都會被自動刪除然后重新下載一份(不要去嘗試把aar文件解壓然后把里邊文件刪除這樣操作打包同樣會報錯)
解決方法:找到?jīng)_突的aar文件然后在編輯器中選擇它然后去掉Android的那個勾這樣就可以了,就不會把這個打進去了
第二個問題:Unity超過64k
trouble writing output:Too many method references to fit in one dex file:85969;max is 65536.You may try using multi-dex.If multi-dex is enabled then the list of classes for the main dex list is too large.
打包時候除了這樣一個錯誤,超過65k的限制,Unity也提示讓我開啟Multi-dex
然后我就各種嘗試,
大概的思路都是:
復(fù)制unity安裝目錄下的mainTemplate.gradle文件到自己工程Assets/Plugins/Android目錄下,然后修改文件中的一些設(shè)置
然而這樣嘗試后并無什么反應(yīng),還是同樣的錯誤
trouble writing output:Too many method references to fit in one dex file:85969;max is 65536.You may try using multi-dex.If multi-dex is enabled then the list of classes for the main dex list is too large.
前邊的設(shè)置基本相同都是復(fù)制mainTemplate.gradle文件,不同的是多修改了一個設(shè)置就是選擇Gradle打包方式
這樣打包確實沒有超出限制這樣的錯誤了,但是更多的錯誤卻跌然而來,解決一個又報一個。
當(dāng)我快要絕望的時候,突然看到了一篇文章說,只要選擇Gradle打包方式即可,我試了一下,果然是這樣,根本不用前邊哪些花里胡哨的配置這個文件那個文件的。驚喜來的太突然了吧