2012年10月10日星期三

Android开发笔记(七)


Android开发笔记(七)
     -- 开发遇到两个Android Jar 的相关问题


本文描述两个主要问题,也是最近这几天遇到的头疼过的问题。其实明白了问题之后就显得很简单!两个
Android Jar 的相关问题,如下:

# 1. 调用jar包的Service服务出错,找不到服务。
注意:
     倘若jar包里面包含有的Activity,Service,BroadcastReceiver,还有程序使用权限的声明等等,需提供给调用程序使用,那么要在调用程序的AndroidManifest.xml再次做声明。
     ”如果项目中存在使用属性,必须也把属性一起复制到你要使用的项目中,要不然会识别不了。“

 > 出现问题
异常:“Unable to start service Intent { cmp=.../...}: not found”

错误日志如:

10-08 14:34:10.019: W/ActivityManager(282): Unable to start service Intent { cmp=XLWireless.AdHocNetDemo/XLWireless.WirelessAdhocNetwork.AdhocNetworkService }: not found
... ...

 > 解决方法
1.检查Android工程的Manifest.xml配置文件中是否配置了需要的Service。
2.检查Service是否在application标签内。
3.如果你的Service和启动的Activity不在同一个包内,需把Service标签中的android:name配置成service类的完全名(全路径)。
4. 注意包名的大小写,包名第一个字母必须小写。这里强烈建议包名小写,虽不同单词不能明显区分但作为包名没关系,无伤大雅。
     若全路径且包名为大写(或驼峰式命名的大写开头),则Eclipse运行不起来程序。如(下面错误编写):
     <service android:name="Xlwireless.WirelessAdHocNetwork.AdhocNetworkService" android:enabled ="true" />

PS. 以上前三点引用自网上他人的总结,而最后一点乃自身经历的总结,其中困惑不已最后才得以实验得出的结论!

 > 相关链接
官方文档 Android Jar的使用说明
cnblogs 帖子


# 2. 调用百度地图Android三方库,出现异常问题。
异常: “java.lang.UnsatisfiedLinkError: initClass"

 > 出现问题
10-10 12:48:52.291: E/AndroidRuntime(18640): java.lang.UnsatisfiedLinkError: initClass
10-10 12:48:52.291: E/AndroidRuntime(18640):      at com.baidu.mapapi.Mj.initClass(Native Method)
10-10 12:48:52.291: E/AndroidRuntime(18640):      at com.baidu.mapapi.Mj.a(Unknown Source)
10-10 12:48:52.291: E/AndroidRuntime(18640):      at com.baidu.mapapi.BMapManager.init(Unknown Source)
10-10 12:48:52.291: E/AndroidRuntime(18640):      at xlwireless.deviceutility.XLGPSManager.init(XLGPSManager.java:51)

 > 解决办法
引用一篇某网友的博文
而我的评论是这样的,如下:
“百度提供的jar和so必须要放到libs而不是lib目录” 
百度地图提供Android API第三方库库文件包含有,描述如下:
目录 libs (包含){ baidumapapi.jar 文件夹armeabi(包含 { libBMapApiEngine_v1_3_3.so } } 这样的两个文件,且存在于两级目录。
---
真心不明白,百度开发平台(设计者)为何要这样做,“仅限制使用者需要” 将这样放置jar和so文件(如上libs目录),否则容易出现问题如LZ所说的异常“java.lang.UnsatisfiedLinkError: initClass”,但有时又不出问题的,只是未去继续深究吧,若哪位仁兄得知真相,望告知,谢谢!
--

 > 相关链接

(完)


没有评论:

发表评论