2017-05-06 118 views
1

我有一个包含下面的代码片段:NullPointerException异常APK

SearchView searchView; 

    @Override 
    public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater) { 
     inflater.inflate(R.menu.searchship, menu); 

     MenuItem searchItem = menu.findItem(R.id.action_search); 

     searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
     searchView.setOnSearchClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
        menu.findItem(R.id.action_sort).setVisible(false); 

      } 
     }); 

如果我运行这个从AndroidStudio然后一切都很好。但大家谁从Play商店中下载应用程序崩溃:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.SearchView.setOnSearchClickListener(android.view.View$OnClickListener)' on a null object reference 
+0

您是否使用的ProGuard ?你测试了你的发行版吗? (另外:每个应用程序都是“签名”的,或者你无法安装它) –

+0

是的,这就是我的意思,如果它被混淆了,它不起作用。 – JDoeKnought

回答

1

以下是我发现:

我要补充

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

到proguard.pro