2017-12-29 63 views
-17

Google Play 스토어에 앱을 게시했습니다. 개발자 콘솔에서 10-12 일 후에 충돌 오류가 발생합니다. 이 질문은 이전에 묻지 만, App 크래시로 인해 새로운 사용자를 잃지 않도록 즉시이 문제를 해결하는 방법을 모릅니다. 보고서에 언급 된대로 문제가 어디에서 발생하는지 이해할 수 없습니다. 아래는 Google 개발자 콘솔에 표시되는 오류입니다. 아래의 충돌 메시지를 참조하십시오.Google Play 개발자 콘솔에서보고 한 java.lang.RuntimeException을 수정하는 방법

A java.lang.RuntimeException error occure. 
    at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2332) 
    at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2394) 
    at android.app.ActivityThread.access$800 (ActivityThread.java:154) 
    at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1308) 
    at android.os.Handler.dispatchMessage (Handler.java:102) 
    at android.os.Looper.loop (Looper.java:135) 
    at android.app.ActivityThread.main (ActivityThread.java:5276) 
    at java.lang.reflect.Method.invoke (Native Method) 
    at java.lang.reflect.Method.invoke (Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:908) 
    at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:703) 

Caused by: java.lang.NullPointerException: 
    at mypackadgename.instaapi.onCreate (Unknown Source) 
    at android.app.Activity.performCreate (Activity.java:6041) 
    at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1109) 
    at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2285) 

아래 코드는 다음과 같습니다.

public class instaapi extends AppCompatActivity{ 
    // variable to track event time 
    static int counter = 5; 
    static boolean active = false; 
    static boolean mDialog = false; 
    String html = "", desc = "", url = ""; 
    EditText textField; 
    Button past, btnshow; 
    ProgressDialog prgDialog; 
    TextView example; 
    ArrayList<String> videolist = new ArrayList<>(); 
    ArrayList<String> imagelist = new ArrayList<>(); 
    ArrayList<String> m3u8list = new ArrayList<>(); 

    private long mLastClickTime = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.insta); 

     if(getSupportActionBar() != null){ 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
      getSupportActionBar().setTitle(getResources().getString(R.string.mn_instaapi)); 
      getSupportActionBar().setHomeButtonEnabled(true); 
      getSupportActionBar().setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(this, R.color.insta))); 
     } 

     //Start admob : native ads - banner 
     LinearLayout linearlayout; 

     if(getResources().getString(R.string.ads).toLowerCase().equals("1")){ 

      try{ 

       Random v = new Random(); 
       switch(v.nextInt(2)){ 
        case 0: 
         linearlayout = (LinearLayout) findViewById(R.id.unitads); 
         config.admob.admobBannerCall(this, linearlayout); 

         break; 
        case 1: 

         DisplayMetrics displaymetrics = new DisplayMetrics(); 
         getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
         int width = displaymetrics.widthPixels; 

         if(getResources().getString(R.string.admobNative).toLowerCase().equals("on")){ 

          // -70 coz of scrollview 
          if(convertPixelsToDp(width, this) - 70 >= 280){ 

           linearlayout = (LinearLayout) findViewById(R.id.unitads); 
           config.admob.nativeAds(this, linearlayout, new AdSize(280, 150)); 

          } else{ 

           linearlayout = (LinearLayout) findViewById(R.id.unitads); 
           config.admob.admobBannerCall(this, linearlayout); 

          } 

         } else{ 

          linearlayout = (LinearLayout) findViewById(R.id.unitads); 
          config.admob.admobBannerCall(this, linearlayout); 

         } 

         break; 
       } 

      } catch(Exception e){ 

       try{ 
        linearlayout = (LinearLayout) findViewById(R.id.unitads); 
        config.admob.admobBannerCall(this, linearlayout); 
       } catch(Exception j){ 
        j.getStackTrace(); 
       } 

      } 

     } else if(getResources().getString(R.string.ads).toLowerCase().equals("2")){ 


      try{ 

       StartAppSDK.init(this, startapp.startappID, true); 
       LinearLayout forStartAPP = (LinearLayout) findViewById(R.id.unitads); 
       Banner startAppBanner = new Banner(this); 
       forStartAPP.addView(startAppBanner); 

      } catch(Exception e){ 
       e.getStackTrace(); 
      } 

     } else if(getResources().getString(R.string.ads).toLowerCase().equals("3")){ 

     } 


     //End 

    } 
} 
+0

여기 @Lino –

+0

에 도움을주는 사람은 null 개체에서 onCreate를 호출 한 것으로 보입니다. 예 : 'mypackadgename.instaapi' – Lino

+0

에서 해결 방법을 제안하십시오. 이 질문에 답을 얻으려면 단계별로 문제를 해결하십시오. 안부! @Lino –

답변

-1

이는 Null Pointer Exception 때문에 발생합니다. 따라서 Null Pointer 액세스 위치를 찾아야합니다.