我最近剛剛好把工作環境從eclipse切換到androidstudio上,關於你標題上的問題,我剛好遇到過,特來回答,當然我也是網上搜索到的答案:
一般android專案從eclipse匯入至androidstudio(以下簡稱as)後,會出現各種問題,最主要的就是“gradle”目前為止還不支援.so庫檔案打包入apk。
也就是說,如果你用的第三方庫中包含.so檔案(一般是libs\armeabi\xxx.so),那麼只要在程式碼中出現“system.loadlibrary("xxx");等程式碼出現,一定會在這裡丟擲異常unsatisfiedlinkerror。
解決方案如下:根據我google了2天的結果,一個比較滿意且所有出現這個問題的人都可行的方案是:
1)在硬碟任意位置建立空資料夾"lib"(注意名字是"lib"而不是"libs")
2)把原來的libs目錄下的armeabi資料夾複製至剛建立的lib目錄下.(armeabi資料夾中的.so檔案也會被一併拷入)
3)將剛建立的"lib"目錄打包壓縮成.zip檔案,同時改名為“armeabi.jar"
4)將armeabi.jar放入原來的libs目錄下(和其他第三方jar包放在一起)
經過這4步之後,只需要再重新更新下as的第三方庫,就ok了.
我最近剛剛好把工作環境從eclipse切換到androidstudio上,關於你標題上的問題,我剛好遇到過,特來回答,當然我也是網上搜索到的答案:
一般android專案從eclipse匯入至androidstudio(以下簡稱as)後,會出現各種問題,最主要的就是“gradle”目前為止還不支援.so庫檔案打包入apk。
也就是說,如果你用的第三方庫中包含.so檔案(一般是libs\armeabi\xxx.so),那麼只要在程式碼中出現“system.loadlibrary("xxx");等程式碼出現,一定會在這裡丟擲異常unsatisfiedlinkerror。
解決方案如下:根據我google了2天的結果,一個比較滿意且所有出現這個問題的人都可行的方案是:
1)在硬碟任意位置建立空資料夾"lib"(注意名字是"lib"而不是"libs")
2)把原來的libs目錄下的armeabi資料夾複製至剛建立的lib目錄下.(armeabi資料夾中的.so檔案也會被一併拷入)
3)將剛建立的"lib"目錄打包壓縮成.zip檔案,同時改名為“armeabi.jar"
4)將armeabi.jar放入原來的libs目錄下(和其他第三方jar包放在一起)
經過這4步之後,只需要再重新更新下as的第三方庫,就ok了.