場景:
將百度地圖封裝成一個lib庫,給應用引用。
問題:
引用時報錯
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at com.baidu.mapapi.map.MapView.a(Unknown Source:32)
at com.baidu.mapapi.map.MapView.a(Unknown Source:24)
at com.baidu.mapapi.map.MapView.<init>(Unknown Source:16)
解決方案:
引起該問題是因爲百度缺少了百度SDK中的assets文件夾導致的資源缺失。
需要在封裝庫中創建assets文件夾,然後解壓百度SDK,將SDK解壓後的assets中的文件全部拷貝到創建的assets文件夾中。
最後在gradle中配置assets文件夾的引用位置。
sourceSets {
main {
assets.srcDirs = ['src/main/assets']
}
}
問題解決。