1. 程式人生 > >百度地圖LocType=162引發的坑------>>libs和jniLibs的區別

百度地圖LocType=162引發的坑------>>libs和jniLibs的區別

      首先要說明libsjniLibs的區別:  這兩個檔案都可以用來存放so檔案。

     在eclipse中,我們把so檔案放入libs檔案裡,可以被打包到apk中,不過在AS中,放入libs資料夾中的so檔案不會被打包到apk檔案中,只有放入jniLibs檔案中才會自動打包到apk中。


   下面開始說關於度地圖的問題,因為AS專案中有libs和jniLibs兩個資料夾,如下圖:

所以開始按照地圖API進行整合。把地圖的so檔案放入了jniLibs中,jar包放入了libs,又在按照地圖API在AndroidManifest中加入了一下程式碼

注意這是重點:

sourceSets {
        main {
    		jniLibs.srcDirs = ['libs']
        }
}

然後就按照API接著定位,最後發現LocType=162,經緯度定位是4.9E-324,預設值。

開始以為是程式碼寫錯了,找了半天,最後發現是加在AndroidManifest中的程式碼的問題,因為jniLibs中的so檔案會自動打包到apk中,不必在新增。把它去掉重新gradle後發現LocType=161,定位成功!



最後總結髮現:雖然文件很靠譜,但還是有不可避免的坑啊