Fehler nach dem Bau apk

Aktionsleistenansichten (Aktionsanbieter und Suchdarstellung) stürzt nach dem Erstellen von signierten apk ab. Wenn ich Debug-App aus Android-Studio es funktioniert, aber wenn ich generieren signierte apk und installieren App auf Gerät Ich bekomme Fehler wie folgt:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.SearchView.setQueryHint(java.lang.CharSequence)' on a null object reference at tm.veriloft.ertir.ui.SearchActivity.onCreateOptionsMenu(Unknown Source) at android.app.Activity.onCreatePanelMenu(Activity.java:2820) at android.support.v4.app.o.onCreatePanelMenu(Unknown Source) at android.support.v7.app.ea(Unknown Source) at android.support.v7.app.ga(Unknown Source) at android.support.v7.widget.as.a(Unknown Source) at android.support.v7.internal.aaj(Unknown Source) at android.support.v7.internal.abrun(Unknown Source) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) 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:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

oder

  • So fügen Sie ein Element zu einer Menügruppe in Navigationsansicht hinzu
  • Android OBD-II Bluetooth API Beispielcode funktioniert nicht
  • Senden einer Datei mit Bluetooth OBEX Object Push Profile (OPP)
  • Erste Schritte mit dem WeChat Android SDK
  • Android: ScrollView 'setOnScrollListener' (wie ListView)
  • RelativeLayout Gravity nicht angewendet?
  •   java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.ah.a(android.content.Intent)' on a null object reference at tm.veriloft.ertir.ui.BlogViewActivity.onCreateOptionsMenu(Unknown Source) at android.app.Activity.onCreatePanelMenu(Activity.java:2820) at android.support.v4.app.o.onCreatePanelMenu(Unknown Source) at android.support.v7.app.ea(Unknown Source) at android.support.v7.app.ga(Unknown Source) at android.support.v7.widget.as.a(Unknown Source) at android.support.v7.internal.aaj(Unknown Source) at android.support.v7.internal.abrun(Unknown Source) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) 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:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

    Ich verwende letzte Versionen von Support-Bibliotheken und Symbolleiste. ( setSupportActionBar(mToolbar) ).

    SearchView xml:

     <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ertir="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:title="@string/title_activity_search" ertir:showAsAction="always" ertir:actionViewClass="android.support.v7.widget.SearchView" /> </menu> 

    Java

     @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.search, menu); MenuItem searchItem = menu.findItem(R.id.action_search); mSearchView = (SearchView) searchItem.getActionView(); mSearchView.setQueryHint(getString(R.string.search_hint)); mSearchView.setFocusable(true); mSearchView.setIconified(false); mSearchView.requestFocusFromTouch(); mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { mSearchView.clearFocus(); //Hide keyboard search(query, searchTypeArray.get(searchTypeSpinner.getSelectedItemPosition()).getType()); return false; } @Override public boolean onQueryTextChange(String query) { if (searchTypeArray.get(searchTypeSpinner.getSelectedItemPosition()).getType().equals("blogs")) searchAfter(1100, query, searchTypeArray.get(searchTypeSpinner.getSelectedItemPosition()).getType()); else search(query, searchTypeArray.get(searchTypeSpinner.getSelectedItemPosition()).getType()); return false; } }); return true; } 

    Wie kann ich das beheben? Wie oben gesagt, bekomme ich Fehler erst nach der Unterzeichnung von apk.

  • Wake up Android Handy mit bestimmten Worten wie Hallo Galaxy oder Ok Google
  • Android Honeycomb: Wie man Fragmente in einem FrameLayout ändert, ohne sie neu zu erstellen?
  • Melden Sie sich mit dem Facebook Android SDK und Proguard an
  • So füllen Sie Daten an PagerAdapter
  • Android Test Code Abdeckung mit JaCoCo Gradle Plugin
  • Untermenü öffnen in der Aktionsleiste auf der Hardware-Menü-Taste klicken
  • 3 Solutions collect form web for “Fehler nach dem Bau apk”

    Es passiert, weil du deine progaurd nicht progaurd konfiguriert hast. In you build.gradle unter buildTypes und 'Release' ändern runProguard true zu runProguard false und generieren die singed APK und testen. Wenn es gut funktioniert, lernt es, progaurd richtig zu konfigurieren 🙂

    Fügen Sie in proguard-rules.pro die folgende Zeile hinzu, um die SearchView-Klasse auszuschließen: '-keep class android.support.v7.widget. ** {*; } Und dann den Build erstellen. Ich habe es so gelöst.

    Das funktioniert für mich,

    Fügen Sie die folgende Zeile zu proguard-rules.pro-Datei hinzu, die sich im App-Ordner befindet:

    -keep class android.support.v7.widget.SearchView {*; }

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.