android - Appcompatv7 搜索小部件使应用程序崩溃

标签 android proguard android-appcompat android-search

我已经成功实现了 Appcompat V7 Search Widget。在手机上调试应用程序时没有问题。(在我试过的许多手机上) 但是当我导出签名的应用程序时。 安装并打开该 Activity 后崩溃。 在搜索小部件的 OnCreateOptionsMenu() 方法中显示错误

这是菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/group_search_box"
android:title="@string/search_label"
android:icon="@drawable/ic_action_action_search"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />

下面是它的实现方式。

SearchManager searchManager = (SearchManager) 
getActivity().getSystemService(Context.SEARCH_SERVICE);
MenuItem searchMenuItem = menu.findItem(R.id.group_search_box);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));

这在调试时在所有手机上都能正常工作,但在构建 apk 后它就不能工作了。

我认为这是因为混淆器。 我该如何修复这个错误?

最佳答案

您的模块目录中应该有一个 proguard-rules.pro 文件。

添加以下内容...

-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }

关于android - Appcompatv7 搜索小部件使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27377388/

相关文章:

java - 运行签名的android应用程序,发生NPE,可能是由于proguard?

android - 我的 androids 应用在某些设备上存在基于 Activitynotfoundexception 的崩溃。我怎样才能再生它?

android - app_release.apk 的 Google oauth 问题,app_debug.apk 工作正常

android - 渲染布局文件和预览问题

android - 无法解析 AppCompatActivity

android - 为什么我能够从后台线程操作 UI 元素?

java.io.IOException : exception unwrapping private key - java. security.InvalidKeyException:填充 block 已损坏

android - 在 Android 中重复任务

php - 从 Android 应用程序向 PHP 发送帖子

android - 根据行为在不同的 fragment 上使用相同的工具栏折叠工具栏布局