【问题标题】:NoSuchMethod SmsMessage <init>?NoSuchMethod SmsMessage <init>?
【发布时间】:2014-04-15 04:43:02
【问题描述】:

我正在尝试在模拟器上运行应用程序,但遇到了一些奇怪的崩溃,例如:

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

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

对这里可能发生的事情/解决方法有什么想法吗?

谢谢!

【问题讨论】:

    标签: java android sms


    【解决方案1】:

    &lt;init&gt;代表构造函数,但是如果你看一下docs你会发现,它没有构造函数(实际上它有,但它是private,看看here ),所以你不能这样做:

    SmsMessage smsMessage = new SmsMessage();
    

    编辑混淆来自于SmsMessage有两个版本的事实:

    1. first one 来自 android.telephony.gsm.SmsMessage,在 API 级别 1 中添加,但自 API 级别 4 起已弃用,并且它具有公共构造函数。
    2. second one 来自 android.telephony.SmsMessage,并替换了 API 级别 4 以来的上述版本。

    因此,由于您遇到此类错误,因此您导入了最新的android.telephony.SmsMessage,并且应重新编写代码以适应较新版本的类。

    【讨论】:

    • 然而,一个在某一时刻运行的应用程序显然是这样做的?我正在测试的应用不是我写的,已经被别人成功使用了。
    猜你喜欢
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2017-02-02
    • 2017-11-17
    相关资源
    最近更新 更多