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行原始的身體,謝謝你 –

相關問題