场景:
将百度地图封装成一个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']
}
}
问题解决。