我已经成功实现了 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/