一般来讲,在开发Android应用时,所使用的图片资源会放在工程的Res/drawable目录下,
代码中通过context.getResources().getDrawable(R.drawable.marker_green)来使用
但是在jar包采用这种做法时,当第三方Android应用使用该Jar包时,则会报运行错误:java.lang.NoClassDefFoundError
【网上有很多方法,将jar包通过build path添加到library中,这些都不是解决的办法】
【解决办法】
将jar包用到的图片资源存放在工程的assets目录下,代码中通过如下方法来获取资源:
1,获取Bitmap
mCompassBmp = BitmapFactory.decodeStream(context.getAssets().open("compass_showmap.png"));2,获取drawable
drawable = new BitmapDrawable(BitmapFactory.decodeStream(mMapView.getContext().getAssets().open("marker_green.png")));【jar包的发布】
1,工程右键,选择Export...
2,选择导出类型
3,选择导出资源:只需要导出src和assets即可
解决Android Jar包图片资源问题
本文介绍了解决Android项目中使用Jar包时遇到的图片资源加载错误问题的方法。建议将图片资源放置于assets文件夹内,并提供具体的Bitmap及Drawable获取方式。

被折叠的 条评论
为什么被折叠?



