我有一个android库项目,我使用android 2.3私有API。我有使用这个库项目的主要android 4.2项目。我需要在android 4.2设备上运行这个项目。 (android 4.2在android 2.3中没有这个api) 每次我得到运行时异常时:
AndroidRuntime(1395): java.lang.NoSuchMethodError: android.content.pm.IPackageManager.getPackageInfo
我明白为什么会得到它; 但是有可能解决这个问题吗?
答案 0 :(得分:1)
由于getPackageInfo是在级别1中添加的API,因此听起来很奇怪。
见链接:http://developer.android.com/reference/android/content/pm/PackageManager.html#getPackageInfo(java.lang.String,int)
是否正确设置了Context(Activity,ApplicationContext等)?
因为getPackageInfo()通常像下面这样使用,
context.getPackageManager().getPackageInfo
因此,如果上下文或 packageManager 错误,则无法调用getPackageInfo。
刷新 - 清洁再做一次。有时候它有效。
当然,Android 4.2中存在getPackageInfo()。 (实际上,2.2~4.3)似乎android工作正常。