关于INSTALL_FAILED_MISSING_SHARED_LIBRARY错误的解决方法

本文详细介绍了在开发Android应用时遇到的Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY错误,原因是测试机缺少com.google.android.maps.jar包。提供了将缺失的jar包手动copy到sysmem/framework目录下的解决方法,并分享了如何避免该问题的方法,即在user-library标签里设置android:required=false。同时给出了替代方案,通过判断设备是否缺少特定jar包,选择使用WebView加载Google地图。

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

最近在做google maps的开发,当应用安装到测试机上时报出了Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY的错误,导致应用无法安装到手机上,通过一阵google之后,才发现之所以会产生这个错误,原来是测试机缺少了com.google.android.maps.jar包,木有办法,很多厂商为了打造自己的“OS”,将Android改的面目全非,尤其是国内厂商的手机,更是将google的服务阉割的一干二净。

至于解决方法嘛,网上不少网友采用的是将这个缺失的jar包手动copy到sysmem/framework目录下,具体怎么做,这里就不在详细叙述了,感兴趣的童鞋可自行google。在此,韬哥只想说一句,这种方式在自己测试时或许还可行,但当一款应用真正发出去的话,你是很难将这个jar包copy到sysmem/framework目录下的,除非用户的手机是已经Root过的,而且你的应用还获取了Root权限。可以说遇到这种情况,基本上无解,也就是google map无法集成了,这可能也是google帝国为了保证自家服务不被轻易移除的一种考虑吧。但是由于报出Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY这个错误时,会导致应用无法安装到手机上,怎么来避免这个问题呢?具体的作法是在user-library标签里,设置android:required="false" ,这样就可以让应用安装上去了。

真相在图中:


应用安装到手机上后,下一步就是采取Plan B来代替google map无法使用的问题,如果逻辑简单的话,可以直接使用WebView加载google map,这就需要在代码中判断只有缺失com.google.android.maps.jar这个包的手机,才使用webview,具体可以使用取巧的方式,就是加一个try...catch...

韬哥就在这写伪代码了,相信各位童鞋是能看得懂的:

try {
	startActivty(new Intent(this, MapViewActivity.class));
} catch (Exception e) {
	e.printStackTrace();
	startActivity(new Intent(this, WebViewActivity.class));
}

MapViewActivity假设就是集成了google map的界面,剩下的工作就自己去处理吧,韬哥只能帮你们到这了。。。

Just enjoy yourself!


评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值