首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析Starter项目崩溃

解析Starter项目崩溃
EN

Stack Overflow用户
提问于 2015-05-03 03:25:59
回答 2查看 559关注 0票数 1

我是解析和android应用程序开发的新手。我正在与Mac OS X上的android studio一起工作。我已经按照一个新项目的解析快速入门指南进行了操作,我下载了parse starter项目并在android studio中打开了它。我已经按照说明进行了操作,添加了初始化行。之后,我编译并运行了这个项目,它工作得很好。我遇到的问题是,当我在MainActivity onCreate函数中添加以下代码时:

代码语言:javascript
复制
ParseObject testObject = new ParseObject("TestObject");
testObject.put("foo", "bar");
testObject.saveInBackground();

当我尝试运行应用程序后,ive添加了上述代码,我的应用程序崩溃,它在logcat中显示此错误: can‘t setReadAcess a user with null id。以下是来自logcat的完整日志:

代码语言:javascript
复制
> 05-02 22:18:42.006  18811-18811/? D/dalvikvm﹕ Not late-enabling
> CheckJNI (already on) 05-02 22:18:42.176 
> 18811-18845/com.parse.starter I/dalvikvm﹕ Could not find method
> android.database.Cursor.getNotificationUri, referenced from method
> com.parse.ParseSQLiteCursor.getNotificationUri 05-02 22:18:42.176 
> 18811-18845/com.parse.starter W/dalvikvm﹕ VFY: unable to resolve
> interface method 139: Landroid/database/Cursor;.getNotificationUri
> ()Landroid/net/Uri; 05-02 22:18:42.176  18811-18845/com.parse.starter
> D/dalvikvm﹕ VFY: replacing opcode 0x72 at 0x0002 05-02 22:18:42.225 
> 18811-18811/com.parse.starter I/dalvikvm﹕ Could not find method
> android.app.ActivityManager.isLowRamDevice, referenced from method
> com.parse.ErrorReporter.getConstantDeviceData 05-02 22:18:42.225 
> 18811-18811/com.parse.starter W/dalvikvm﹕ VFY: unable to resolve
> virtual method 7: Landroid/app/ActivityManager;.isLowRamDevice ()Z
> 05-02 22:18:42.225  18811-18811/com.parse.starter D/dalvikvm﹕ VFY:
> replacing opcode 0x6e at 0x00c1 05-02 22:18:42.225 
> 18811-18811/com.parse.starter D/CrashReporting﹕ Crash reporting is
> enabled for com.parse.starter, initializing... 05-02 22:18:42.295 
> 18811-18818/com.parse.starter D/dalvikvm﹕ GC_CONCURRENT freed 285K, 3%
> free 12666K/12999K, paused 0ms+1ms 05-02 22:18:42.295 
> 18811-18811/com.parse.starter D/CrashReporting﹕ Looking for error
> files in /data/data/com.parse.starter/files/com.parse/cr/reports 05-02
> 22:18:42.295  18811-18811/com.parse.starter D/CrashReporting﹕ Looking
> for error files in
> /data/data/com.parse.starter/files/com.parse/cr/minidumps 05-02
> 22:18:42.365  18811-18811/com.parse.starter D/AndroidRuntime﹕ Shutting
> down VM 05-02 22:18:42.365  18811-18811/com.parse.starter W/dalvikvm﹕
> threadid=1: thread exiting with uncaught exception (group=0xb3125180)
> 05-02 22:18:42.365  18811-18811/com.parse.starter E/CrashReporting﹕
> ParseCrashReporting caught a RuntimeException exception for
> com.parse.starter. Building report. 05-02 22:18:42.375 
> 18811-18811/com.parse.starter E/CrashReporting﹕ Handling exception for
> crash
>     java.lang.RuntimeException: Unable to create application com.parse.starter.ParseApplication:
> java.lang.IllegalArgumentException: cannot setReadAccess for a user
> with null id
>             at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3957)
>             at android.app.ActivityThread.access$1300(ActivityThread.java:123)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
>             at android.os.Handler.dispatchMessage(Handler.java:99)
>             at android.os.Looper.loop(Looper.java:137)
>             at android.app.ActivityThread.main(ActivityThread.java:4424)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:511)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
>             at dalvik.system.NativeStart.main(Native Method)
>      Caused by: java.lang.IllegalArgumentException: cannot setReadAccess for a user with null id
>             at com.parse.ParseACL.setReadAccess(ParseACL.java:308)
>             at com.parse.ParseACL.getDefaultACL(ParseACL.java:61)
>             at com.parse.ParseObject.setDefaultValues(ParseObject.java:3385)
>             at com.parse.ParseObject.<init>(ParseObject.java:181)
>             at com.parse.starter.ParseApplication.onCreate(ParseApplication.java:32)
>             at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
>             at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3954)
>             at android.app.ActivityThread.access$1300(ActivityThread.java:123)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
>             at android.os.Handler.dispatchMessage(Handler.java:99)
>             at android.os.Looper.loop(Looper.java:137)
>             at android.app.ActivityThread.main(ActivityThread.java:4424)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:511)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
>             at dalvik.system.NativeStart.main(Native Method) 05-02 22:18:42.385  18811-18811/com.parse.starter D/CrashReporting﹕
> Generating report file for crash 05-02 22:18:42.538 
> 18811-18819/com.parse.starter I/dalvikvm﹕ threadid=3: reacting to
> signal 3 05-02 22:18:42.538  18811-18819/com.parse.starter I/dalvikvm﹕
> Wrote stack traces to '/data/anr/traces.txt' 05-02 22:18:42.607 
> 18811-18818/com.parse.starter D/dalvikvm﹕ GC_CONCURRENT freed 318K, 4%
> free 12764K/13191K, paused 1ms+0ms 05-02 22:18:42.766 
> 18811-18811/com.parse.starter V/CrashReporting﹕ About to start
> ReportSenderWorker from #handleException 05-02 22:18:42.766 
> 18811-18872/com.parse.starter D/CrashReporting﹕ #checkAndSendReports -
> start 05-02 22:18:42.766  18811-18872/com.parse.starter
> D/CrashReporting﹕ Looking for error files in
> /data/data/com.parse.starter/files/com.parse/cr/reports 05-02
> 22:18:42.766  18811-18872/com.parse.starter D/CrashReporting﹕ Loading
> file 1430594322387-IllegalArgumentException-1.stacktrace 05-02
> 22:18:42.796  18811-18872/com.parse.starter I/CrashReporting﹕ Sending
> file 1430594322387-IllegalArgumentException-1.stacktrace 05-02
> 22:18:42.796  18811-18872/com.parse.starter D/CrashReporting﹕ Sending
> crash report to Parse... 05-02 22:18:42.806 
> 18811-18872/com.parse.starter D/CrashReporting﹕ #checkAndSendReports -
> finish 05-02 22:18:42.876  18811-18811/com.parse.starter
> E/AndroidRuntime﹕ FATAL EXCEPTION: main
>     java.lang.RuntimeException: Unable to create application com.parse.starter.ParseApplication:
> java.lang.IllegalArgumentException: cannot setReadAccess for a user
> with null id
>             at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3957)
>             at android.app.ActivityThread.access$1300(ActivityThread.java:123)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
>             at android.os.Handler.dispatchMessage(Handler.java:99)
>             at android.os.Looper.loop(Looper.java:137)
>             at android.app.ActivityThread.main(ActivityThread.java:4424)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:511)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
>             at dalvik.system.NativeStart.main(Native Method)
>      Caused by: java.lang.IllegalArgumentException: cannot setReadAccess for a user with null id
>             at com.parse.ParseACL.setReadAccess(ParseACL.java:308)
>             at com.parse.ParseACL.getDefaultACL(ParseACL.java:61)
>             at com.parse.ParseObject.setDefaultValues(ParseObject.java:3385)
>             at com.parse.ParseObject.<init>(ParseObject.java:181)
>             at com.parse.starter.ParseApplication.onCreate(ParseApplication.java:32)
>             at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
>             at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3954)
>             at android.app.ActivityThread.access$1300(ActivityThread.java:123)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
>             at android.os.Handler.dispatchMessage(Handler.java:99)
>             at android.os.Looper.loop(Looper.java:137)
>             at android.app.ActivityThread.main(ActivityThread.java:4424)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:511)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
>             at dalvik.system.NativeStart.main(Native Method) 05-02 22:18:43.026  18811-18819/com.parse.starter I/dalvikvm﹕ threadid=3:
> reacting to signal 3 05-02 22:18:43.026  18811-18819/com.parse.starter
> I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt' 05-02
> 22:18:43.455  18811-18819/com.parse.starter I/dalvikvm﹕ threadid=3:
> reacting to signal 3 05-02 22:18:43.455  18811-18819/com.parse.starter
> I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'

没有明显的原因会崩溃,因为我遵循了快速入门指南中的确切步骤。你知道为什么会发生这种事吗?

here是快速入门指南的链接

请帮帮我!谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-05-05 17:43:21

看起来像是权限问题。您是否保存了当前用户?你有用户吗?

你有没有试过这样的东西:

代码语言:javascript
复制
ParseUser.enableAutomaticUser();
ParseUser.getCurrentUser().saveInBackground();
ParseACL defaultACL = new ParseACL();
ParseACL.setDefaultACL(defaultACL, true);

Source

还有。当您添加这些更改时,请在测试前完全删除应用程序。

票数 0
EN

Stack Overflow用户

发布于 2015-05-06 17:51:44

感谢你的回答,似乎快速入门指南没有得到很好的解释,经过一些修补,我让它工作了,我复制了整个sdk文件夹(我指的是parse sdk )到我的项目libs文件夹(而不是像以前那样复制整个内容),然后在那个文件夹旁边我只复制了parse jar文件,然后我不得不进入android studio,导航到jar文件,右键单击它,然后添加为库,这就完成了……所以谢谢你所有的回复!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30006534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档