0

所以我对Java很少有经验,但我可以快速学习它。在Marshmallow 6.0中启动应用程序时。它突然崩溃。我可以从logcat中在Android工作室Android 6.0发布时应用程序崩溃,包含Logcat,新开发人员

得到这个跳过删除线的文本作为其得到纠正

E/AndroidRuntime:致命异常:主要 E/AndroidRuntime:工艺:nezibo.com.dreamception ,PID:1863 E/AndroidRuntime:java.lang.RuntimeException:无法启动活动ComponentInfo {nezibo.com.dreamception/nezibo.com.dreamception.activity.MainActivity}:java.lang.NullPointerException:试图获取长度为null数组 E/AndroidRuntime:在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)E/AndroidRuntime:at android.app.ActivityThread.-wrap11(ActivityThread.java) E/AndroidRuntime:at android.app.ActivityThread(android.app.ActivityThread.AccessThread.java)E/AndroidRuntime:at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) E/$ H.handleMessage(ActivityThread.java:1344) E/AndroidRuntime:at android.os.Handler.dispatchMessage(Handler.java:102) E/AndroidRuntime:at android.os.Looper.loop(Looper.java:148 ) E/AndroidRuntime:在android.app.ActivityThread.main(ActivityThread.java:5417) E/AndroidRuntime:在java.lang.reflect.Method.invoke(本地方法) E/AndroidRuntime:在com.android。 internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) E/AndroidRuntime:at com.android.internal.os.ZygoteInit.main(Z E/AndroidRuntime:在nezibo.com.dreamception.utils.FileUtils.removeTMPFiles(FileUtils.java:31)上发布E/AndroidRuntime:导致:java.lang.NullPointerException:尝试获取空数组的长度 E/AndroidRuntime:at nezibo.com.dreamception.utils.FileUtils.removeTMPFiles ) E/AndroidRuntime:at nezibo.com.dreamception.activity.MainActivity.init(MainActivity.java:186) E/AndroidRuntime:at nezibo.com.dreamception.activity.MainActivity.onCreate(MainActivity.java:64) E/AndroidRuntime:在android.app.Activity.performCreate(Activity.java:6237) E/AndroidRuntime:在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) E/AndroidRuntime:在android.app.ActivityThread .performLaunchActivity(ActivityThread.java:2369) E/AndroidRuntime:at android.app.ActivityThread.handleL E/AndroidRuntime:at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) E/AndroidRuntime:android.app.ActivityThread.-wrap11(ActivityThread.java) E/AndroidRuntime:at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) E/AndroidRuntime:在android.os.Handler.dispatchMessage(Handler.java:102) E/AndroidRuntime:在android.os.Looper.loop(Looper.java:148) E/AndroidRuntime:在android.app.ActivityThread .main(ActivityThread.java:5417) E/AndroidRuntime:在java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime:at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit。 java:726) E/AndroidRuntime:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

CRASHLYTICS显示了这个

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{nezibo.com.dreamception/nezibo.com.dreamception.activity.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array 
    at  android.app.ActivityThread.performLaunchActivity(ActivityThread.java) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java) 
    at android.os.Handler.dispatchMessage(Handler.java) 
    at android.os.Looper.loop(Looper.java) 
    at android.app.ActivityThread.main(ActivityThread.java) 
    at java.lang.reflect.Method.invoke(Method.java) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java) 
Caused by java.lang.NullPointerException: Attempt to get length of null array 
    at nezibo.com.dreamception.utils.FileUtils.removeTMPFiles(FileUtils.java) 
    at nezibo.com.dreamception.activity.MainActivity.init(MainActivity.java) 
    at nezibo.com.dreamception.activity.MainActivity.onCreate(MainActivity.java) 
    at android.app.Activity.performCreate(Activity.java) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java) 
    at android.os.Handler.dispatchMessage(Handler.java) 
    at android.os.Looper.loop(Looper.java) 
    at android.app.ActivityThread.main(ActivityThread.java) 
    at java.lang.reflect.Method.invoke(Method.java) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java) 

文件实用程序。从sniplet上述

for(File file : dir.listFiles()){ 

编辑Java

package nezibo.com.dreamception.utils; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.media.MediaScannerConnection; 
import android.net.Uri; 
import android.os.Environment; 
import android.provider.MediaStore; 
import android.util.Log; 

import java.io.ByteArrayOutputStream; 
import java.io.File; 
import java.util.ArrayList; 

import nezibo.com.dreamception.Dreamception; 
import nezibo.com.dreamception.activity.FilterActivity; 

import static  android.support.v4.app.ActivityCompat.startActivityForResult; 
public class FileUtils { 

public static void removeTMPFiles(Context context){ 
    ArrayList<String> paths = new ArrayList<>(); 
    File dir = new File(Dreamception.GALLERY_LOCATION); 
    for(File file : dir.listFiles()){ 
     if(file.getName().contains(FilterActivity.TEMP_FILE_MARKER)){ 
      paths.add(file.getAbsolutePath()); 
      file.delete(); 
     } 
    } 

    String[] mStringArray = new String[paths.size()]; 
    mStringArray = paths.toArray(mStringArray); 
    MediaScannerConnection.scanFile(context, mStringArray, null, new MediaScannerConnection.OnScanCompletedListener() { 
     /* 
     */ 
     public void onScanCompleted(String path, Uri uri) { 
      Log.i("ExternalStorage", "Scanned " + path + ":"); 
      Log.i("ExternalStorage", "-> uri=" + uri); 
     } 
    }); 
} 
} 

线的31个,所以现在这就是现在发生了,我固定在推出的崩溃,其越来越清楚我需要改变为新的android分配权限的方式。

11-03 04:43:43.541 9552-9552/nezibo.com.dreamception E/libcrashlytics: Failed to find any usable unwinding libraries on the device, falling back to simple unwinding 
11-03 04:43:43.676 9552-9552/nezibo.com.dreamception E/ACRA: ACRA#init called but no ReportsCrashes annotation on Application nezibo.com.dreamception 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime: FATAL EXCEPTION: ModernAsyncTask #1 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime: Process: nezibo.com.dreamception, PID: 9552 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground() 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.ModernAsyncTask$3.done(ModernAsyncTask.java:142) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.FutureTask.setException(FutureTask.java:223) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.lang.Thread.run(Thread.java:818) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime: Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=9552, uid=10059 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.os.Parcel.readException(Parcel.java:1599) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.content.ContentProviderProxy.query(ContentProviderNative.java:421) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.content.ContentResolver.query(ContentResolver.java:491) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.ContentResolverCompatJellybean.query(ContentResolverCompatJellybean.java:29) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.ContentResolverCompat$ContentResolverCompatImplJB.query(ContentResolverCompat.java:57) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.ContentResolverCompat.query(ContentResolverCompat.java:125) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:59) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:37) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:296) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:54) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:42) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at android.support.v4.content.ModernAsyncTask$2.call(ModernAsyncTask.java:128) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
11-03 04:45:07.230 9552-10585/nezibo.com.dreamception E/AndroidRuntime:  at java.lang.Thread.run(Thread.java:818) 
11-03 04:45:07.400 9552-9693/nezibo.com.dreamception E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa1376b20 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread: Activity nezibo.com.dreamception.activity.MainActivity has leaked ServiceConnection [email protected] that was originally bound here 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread: android.app.ServiceConnectionLeaked: Activity nezibo.com.dreamception.activity.MainActivity has leaked ServiceConnection [email protected] that was originally bound here 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1092) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:986) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1303) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.ContextImpl.bindService(ContextImpl.java:1286) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.content.ContextWrapper.bindService(ContextWrapper.java:604) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at nezibo.com.dreamception.activity.MainActivity.initBilling(MainActivity.java:274) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at nezibo.com.dreamception.activity.MainActivity.onCreate(MainActivity.java:62) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.Activity.performCreate(Activity.java:6237) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.ActivityThread.-wrap11(ActivityThread.java) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.os.Handler.dispatchMessage(Handler.java:102) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.os.Looper.loop(Looper.java:148) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at android.app.ActivityThread.main(ActivityThread.java:5417) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at java.lang.reflect.Method.invoke(Native Method) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
11-03 04:45:07.463 9552-9552/nezibo.com.dreamception E/ActivityThread:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
11-03 04:45:08.554 9552-9693/nezibo.com.dreamception E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa1377ae0 

清单权限请求。

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="com.android.vending.BILLING" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<!-- Allows access to the flashlight --> 
<permission 
    android:name="android.permission.FLASHLIGHT" 
    android:permissionGroup="android.permission-group.HARDWARE_CONTROLS" 
    android:protectionLevel="normal" /> 

<uses-feature android:name="android.hardware.camera" /> 
<uses-feature android:name="android.hardware.camera.autofocus" /> 

回答

0

您在代码中有一个NullPointerException 。在此处张贴您的代码FileUtils.removeTMPFiles()方法,以便我们可以提出任何建议。

Caused by java.lang.NullPointerException: Attempt to get length of null array 
    at nezibo.com.dreamception.utils.FileUtils.removeTMPFiles(FileUtils.java) 

变化表明:

ArrayList<String> paths = new ArrayList<>(); 
    File dir = new File(Dreamception.GALLERY_LOCATIONc); 
    for(File file : dir.listFiles()){ 

ArrayList<String> paths = new ArrayList<>(); 
    File dir = new File(Dreamception.GALLERY_LOCATION); 
    if(!dir.exists())return; 
    for(File file : dir.listFiles()){ 

+++变更新代码/在许可请求

if(!Settings.System.canWrite(this)) { 
    requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 2909); 
} else { 
    // continue with your code 
} 
+0

Im pos整个FileUtils代码在后现在 –

+0

我把它贴在身体与行31下面,感谢您的快速回复这是巨大的一天后,我有 –

+0

嗯,这个错误只影响6.0和权限处理改变,是否有可能它没有正确获取权限? 编辑,好酷生病试试吧 –

2

你只需要阅读堆栈跟踪:

Caused by java.lang.NullPointerException: Attempt to get length of null array 
    at nezibo.com.dreamception.utils.FileUtils.removeTMPFiles(FileUtils.java:31) 

因此,检查为什么你的阵列可能是null在文件实用程序在第31行

+0

发布代码FileUtil和第31行原始的身体,谢谢你 –

相关问题