我正在尝试在模拟器上运行应用,但遇到一些奇怪的崩溃,例如:
java.lang.NoSuchMethodError: android.telephony.SmsMessage.<init>
当然这或多或少是标准的?这可能是版本错误吗?我在API 15上运行;尽管我不知道哪个版本(我正在对较旧的API版本进行安装和测试),但我相信所讨论的apk已构建为较旧的版本。
对这里可能发生的事情/解决方法有任何想法吗?
谢谢!
最佳答案
<init>
代表构造函数,但是如果您看一下将意识到的docs,它就没有构造函数(实际上它有,但是它是private
,请看一下here),所以你不能做这样的事情:
SmsMessage smsMessage = new SmsMessage();
编辑混乱来自事实,有
SmsMessage
的2个版本:first one来自
android.telephony.gsm.SmsMessage
,在API级别1处添加,但自API级别4起不推荐使用,并且具有公共构造函数。second one来自
android.telephony.SmsMessage
,并取代了API级别4以上的上述版本。因此,由于出现此类错误,因此您导入了最新的
android.telephony.SmsMessage
,应重新编写代码以适合该类的较新版本。