直接參考這位老哥的博客
http://www.reibang.com/p/8256c0da444a
當(dāng)然還是會有一些坑
這邊如果是AS的版本在5.0一下梅桩,那么導(dǎo)出的jar會在intermediates/bundles下面沒有問題,如果在5.0以上那么導(dǎo)出的目錄已經(jīng)變?yōu)閕ntermediates/packaged-classes沼死。
我是用Unity2018.4.11c1打安卓包的,然后Build System選擇了Gradle暂氯,我把導(dǎo)出的jar放到Plugins/libs下面之后會遇到如下報錯
java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: Program type already present: com.zjlbest.SDK_Demo.BuildConfig
java.lang.RuntimeException: Duplicate class bitter.jnibridge.JNIBridge found in modules classes.jar (classes.jar) and unity-classes.jar (unity-classes.jar)
這是因?yàn)锽uildConfig重復(fù)了悉罕,那么這個重復(fù)的BuildConfig在哪呢逸贾?
也不難想,因?yàn)槲覀冎环帕艘粋€jar舔痪,所以他只可能在jar中寓调,那么我們怎么刪掉這個BuildConfig呢?
其實(shí)jar是可以解壓的锄码,我們把后綴改為zip或者rar夺英,然后再對其進(jìn)行解壓,會得到一個文件夾
它里面就有BuildConfig滋捶,然后我們刪除它痛悯,再對文件夾壓縮改名為jar,就可以解決這個報錯了炬太。
遇到的其他報錯
1.如果你把放到Plugins/libs下的jar改名為<class.jar>那么就可能會遇到如下報錯
其實(shí)就是jar名字沖突了灸蟆,你需要改一個名字。