Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在另一台计算机上加载项目后Android应用程序崩溃_Android_Android Studio - Fatal编程技术网

在另一台计算机上加载项目后Android应用程序崩溃

在另一台计算机上加载项目后Android应用程序崩溃,android,android-studio,Android,Android Studio,我一直将我的项目存储在DropBox中,以便在电脑间共享,这样我就可以在楼上的笔记本电脑上工作。在我的电脑上一切正常,然后我去把项目加载到我的笔记本电脑上,当我试着运行它时它崩溃了,所以我放弃了,回到我的电脑上,但现在它也不工作了。它工作得很好,我根本没有改变代码。但现在我得到下面的错误 无论我尝试了多少次gradle同步和更新,我都不知道如何修复。除了解决这个问题,我还应该如何在多台PC上处理同一个项目而不破坏一切 我运行了一个Gradle Clean and Sync,但当时它似乎也不起作用

我一直将我的项目存储在DropBox中,以便在电脑间共享,这样我就可以在楼上的笔记本电脑上工作。在我的电脑上一切正常,然后我去把项目加载到我的笔记本电脑上,当我试着运行它时它崩溃了,所以我放弃了,回到我的电脑上,但现在它也不工作了。它工作得很好,我根本没有改变代码。但现在我得到下面的错误

无论我尝试了多少次gradle同步和更新,我都不知道如何修复。除了解决这个问题,我还应该如何在多台PC上处理同一个项目而不破坏一切

我运行了一个Gradle Clean and Sync,但当时它似乎也不起作用。另外,我甚至没有意识到我在使用AsyncTask,所以我会看看这个

由于我不确定堆栈跟踪的确切内容,下面是我的整个日志:)


首先,在这个项目最后一次运行的原始计算机上,尝试一个gradle“clean”,然后是一个build。如果这不起作用,那可能意味着您更改了代码,因为它上次起作用了。试着找出你改变了什么,然后撤销

其次,AsyncTask是许多麻烦(和崩溃)的根源,因为它包含对启动它的活动的引用,但不属于活动的生命周期,因此可以在活动被销毁后对活动进行操作。我的建议是——不要使用AsyncTask——不管你用它做什么,几乎总有更好的方法。在这里发布stacktrace,我们可能会帮助您找出问题所在

至于共享代码,请使用版本控制系统。GitHub很好,而且是免费的。正确使用它还可以让您轻松地将代码回滚到上次工作的位置

=====

好的,看看你从日志中发布的stacktrace,我们看到:

java.lang.RuntimeException:执行doInBackground()时出错 在java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)的java.util.concurrent.FutureTask.setException的android.os.AsyncTask$3.done(AsyncTask.java:309)中(FutureTask.java:223)在java.util.concurrent.FutureTask.run(FutureTask.java:242)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)上java.lang.Thread.run(Thread.java:818)的java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)

原因:java.lang.SecurityException:权限拒绝:从ProcessRecord{36fd80a 4830:com.mydomain.myapp/u0a17}(pid=4830,uid=10017)打开提供者com.android.providers.contacts.contacts Provider2需要android.Permission.READ\u contacts或android.Permission.WRITE\u contacts


因此,您似乎正在尝试访问ContactsProvider,但尚未将READ\u CONTACTS权限放入清单中。

Clean/build似乎无法工作。我在上面发布了更多信息,这有帮助吗?看起来您缺少READ\u CONTACTS权限。请参阅上面的其他信息。
03-10 14:25:41.849 4830-4830/com.mydomain.myapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
03-10 14:25:41.960 4830-4830/com.mydomain.myapp I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead.
03-10 14:25:41.961 4830-4830/com.mydomain.myapp I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead.
03-10 14:25:41.966 4830-4870/com.mydomain.myapp V/FA: Using measurement service
03-10 14:25:41.966 4830-4870/com.mydomain.myapp V/FA: Connecting to remote service
03-10 14:25:41.967 4830-4870/com.mydomain.myapp V/FA: Activity resumed, time: 4313744
03-10 14:25:41.977 4830-5248/com.mydomain.myapp E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
     Process: com.mydomain.myapp, PID: 4830
     java.lang.RuntimeException: An error occurred while executing doInBackground()
         at android.os.AsyncTask$3.done(AsyncTask.java:309)
         at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
         at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
         at java.util.concurrent.FutureTask.run(FutureTask.java:242)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
         at java.lang.Thread.run(Thread.java:818)
      Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{36fd80a 4830:com.mydomain.myapp/u0a17} (pid=4830, uid=10017) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
         at android.os.Parcel.readException(Parcel.java:1599)
         at android.os.Parcel.readException(Parcel.java:1552)
         at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3550)
         at android.app.ActivityThread.acquireProvider(ActivityThread.java:4778)
         at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2018)
         at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1468)
         at android.content.ContentResolver.query(ContentResolver.java:475)
         at android.content.CursorLoader.loadInBackground(CursorLoader.java:64)
         at android.content.CursorLoader.loadInBackground(CursorLoader.java:56)
         at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:312)
         at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69)
         at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:66)
         at android.os.AsyncTask$2.call(AsyncTask.java:295)
         at java.util.concurrent.FutureTask.run(FutureTask.java:237)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
         at java.lang.Thread.run(Thread.java:818) 
03-10 14:25:41.980 4830-5250/com.mydomain.myapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true

     [ 03-10 14:25:41.982  4830: 4830 D/         ]
     HostConnection::get() New Host Connection established 0x7effab5dc260, tid 4830
03-10 14:25:42.283 4830-4830/com.mydomain.myapp D/MainActivity: onAuthStateChanged:signed_out
03-10 14:25:42.314 4830-5250/com.mydomain.myapp I/OpenGLRenderer: Initialized EGL, version 1.4
03-10 14:25:42.314 4830-5250/com.mydomain.myapp W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
03-10 14:25:42.434 4830-4870/com.mydomain.myapp V/FA: Screen exposed for less than 1000 ms. Event not sent. time: 469
03-10 14:25:42.435 4830-4870/com.mydomain.myapp V/FA: Using measurement service
03-10 14:25:42.435 4830-4870/com.mydomain.myapp V/FA: Connection attempt already in progress
03-10 14:25:42.436 4830-4870/com.mydomain.myapp V/FA: Activity paused, time: 4314214
03-10 14:25:42.457 4830-4870/com.mydomain.myapp D/FA: Connected to remote service
03-10 14:25:42.457 4830-4870/com.mydomain.myapp V/FA: Processing queued up service tasks: 2
03-10 14:25:42.526 4830-4830/com.mydomain.myapp W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
03-10 14:25:42.640 4830-5250/com.mydomain.myapp E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7effa40972a0