在Android Jar包使用图片资源的解决方法

本文介绍了解决Android项目中使用Jar包时遇到的图片资源加载错误问题的方法。建议将图片资源放置于assets文件夹内,并提供具体的Bitmap及Drawable获取方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般来讲,在开发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即可


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值