AndroidStudio導入第三方庫,包括.so類 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

AndroidStudio導入第三方庫,包括.so類

發表時(shí)間:2021-1-4

發布人(rén):融晨科技

浏覽次數:93


一般 Android 項目從 Eclipse 導入至 Android Studio(以(yǐ)下簡稱AS) 後,會出(chū)現各種問題,最主要(yào / yāo)的(de)就(jiù)是(shì) “gradle” 目前爲(wéi / wèi)止還不(bù)支持 .so 庫文件打包入 apk 。
也(yě)就(jiù)是(shì)說(shuō),如果你用的(de)第三方庫中包含 .so 文件 (一般是(shì) libs\armeabi\ xxx.so ) , 那麽隻要(yào / yāo)在(zài)代碼中出(chū)現 “System.loadLibrary( "xxx" ) ; 等代碼出(chū)現,一定會在(zài)這(zhè)裏抛出(chū)異常 UnsatisfiedLinkError 。
解決方案如下: 根據我 Google 了(le/liǎo)2天的(de)結果,一個(gè)比較滿意且所有出(chū)現這(zhè)個(gè)問題的(de)人(rén)都可行的(de)方案是(shì):
1) 在(zài)硬盤任意位置建立空文件夾 "lib" (注意名字是(shì) "lib" 而(ér)不(bù)是(shì) "libs" )
2) 把原來(lái)的(de) libs 目錄下的(de) armeabi 文件夾拷貝至 剛建立的(de) lib 目錄下. (armeabi文件夾中的(de).so文件也(yě)會被一并拷入)
3) 将剛建立的(de) "lib" 目錄打包壓縮成 .zip 文件, 同時(shí)改名爲(wéi / wèi) “armeabi.jar"
4) 将 armeabi.jar 放入原來(lái)的(de) libs 目錄下 (和(hé / huò)其他(tā)第三方jar包放在(zài)一起)
經過這(zhè)4步之(zhī)後,隻需要(yào / yāo)再重新更新下AS的(de)第三方庫,就(jiù)OK了(le/liǎo) .
另一種方法,把jar包拷貝到(dào)libs文件夾下,查看Open Module Settings 他(tā)們之(zhī)前是(shì)否關連上(shàng)
直接在(zài)Module中的(de)build.gradle文件中設置如下:
dependencies {

compile fileTree(dir: 'libs', include: '*.jar')

}
如果是(shì)工程類的(de)庫,則把工程放在(zài)和(hé / huò)主項目同目錄下,在(zài)build.gradle設置中如下設置
如: compile project(':corpLib')


關聯遠程庫
compile 'com.github.project:2.2'

相關案例查看更多