2014-04-14 26 views
0

我试图在模拟器上运行的应用程序,我遇到了一些奇怪的崩溃,例如:NoSuchMethod SmsMessage <init>?

java.lang.NoSuchMethodError: android.telephony.SmsMessage.<init> 

当然,这或多或少会是标准?这可能是一个版本错误?我在API 15上运行;我相信这个apk是针对老版本构建的,尽管我不知道哪个(我正在安装和测试旧API版本)。

有关可能会发生什么的方法或解决方法的任何想法?

谢谢!

回答

2

<init>代表的构造,但如果你看看在docs,你就会明白,它没有构造函数(实际上有,但它是private,看看here),所以你不能做这样的事情:

SmsMessage smsMessage = new SmsMessage(); 

编辑的混乱,是因为我们的到来,有2个版本的SmsMessage

  1. first one为c从android.telephony.gsm.SmsMessage开始,在API级别1处添加,但从API级别4开始弃用,并且它具有公共构造函数。
  2. second oneandroid.telephony.SmsMessage到来,取代了以上版本,因为API级别4

所以,因为你得到这样的错误,您导入最新的一个android.telephony.SmsMessage和代码需要重新编写,以适应更新版本的课程。

+0

然而,一个应用程序,在某一点上显然这样做?我没有编写我正在测试的应用程序,并且已被其他人成功使用。 – bcr

+0

@bcr请检查我的编辑 – nikis

+0

啊,我明白了。谢谢! – bcr