Android 2.2:解析NoSuchMethodError java.lang.String.getbytes

时间:2015-01-20 09:05:45

标签: android parse-platform android-2.2-froyo nosuchmethoderror

Android 2.2Parse 1.8.0compile 'com.parse.bolts:bolts-android:1.+'一起使用  我在Android 2.2模拟器(Nexus S)的应用程序启动时得到了这个

java.lang.NoSuchMethodError: java.lang.String.getBytes
        at com.parse.Parse.saveDiskObject(Parse.java:998)
        at com.parse.Parse.saveDiskObject(Parse.java:1088)
        at com.parse.PushRouter.saveStateToDisk(PushRouter.java:694)
        at com.parse.PushRouter.subscribe(PushRouter.java:747)
        at com.parse.PushRouter$1.then(PushRouter.java:77)
        at com.parse.PushRouter$1.then(PushRouter.java:74)
        at bolts.Task$9.run(Task.java:453)
        at bolts.BoltsExecutors$ImmediateExecutor.execute(BoltsExecutors.java:97)
        at bolts.Task.completeImmediately(Task.java:449)
        at bolts.Task.continueWith(Task.java:323)
        at bolts.Task.continueWith(Task.java:334)
        at bolts.Task$7.then(Task.java:386)
        at bolts.Task$7.then(Task.java:378)
        at bolts.Task$10.run(Task.java:486)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
        at java.lang.Thread.run(Thread.java:1096)

造成这种情况的原因是什么?我试过改变 ParseInstallation.getCurrentInstallation().saveEventually();ParseInstallation.getCurrentInstallation().saveInBackground();,但没有区别。

1 个答案:

答案 0 :(得分:2)

看起来像解析框架(com.parse.Parse.saveDiscObject方法)使用自API级别9开始可用的java.lang.String.getBytes(Charset)(参见http://developer.android.com/reference/java/lang/String.html#getBytes%28java.nio.charset.Charset%29

Android 2.2是API级别8。

这至少解释了它。我不确定如何解决这个问题。如果可能的话,可能会降级到早期版本的Parse。