在我的Android应用程序中,我不会在代码中创建View的on-click处理程序,但依赖于在XML布局文件中指定它的能力,如下所示:
<Button
....
android:onClick="onSearchClicked"
...../>
Run Code Online (Sandbox Code Playgroud)
然后让Activity中的方法如下:
public void onSearchClicked( View v ) {
........}
Run Code Online (Sandbox Code Playgroud)
这意味着在我自己的代码中没有明显的参考.
在为生产版本运行Proguard时,它似乎删除了此方法,并且点击失败.
我可以添加到我的proguard配置文件中以避免这种情况,这不会让我重命名所有这些方法吗?
我已经查看了针对Android的proguard示例,并且看不到任何针对此特定需求的内容.
And*_*zie 22
这似乎是最好的答案,因为它对这些方法的命名是100%健壮的:
# This will avoid all the onClick listeners referenced from XML Layouts from being removed
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
3444 次 |
| 最近记录: |