【问题标题】:App force closes when using ActionBarSherlock on actual device, but works on emulator在实际设备上使用 ActionBarSherlock 时应用程序强制关闭,但适用于模拟器
【发布时间】:2012-10-18 11:45:41
【问题描述】:

我正在开发一个仅在某些活动中使用 ActionBarSherlock 和 SherlockFragments 的应用程序。通过 Eclipse 在 Android 模拟器上测试应用程序时,应用程序运行良好。但是,在实际手机上运行签名和导出的应用程序时,只有不使用 Sherlock 的活动才能工作。每当我启动使用 Sherlock 的活动时,应用程序强制关闭。我在 Android Gingerbread 和 ICS 设备上对此进行了测试。该应用的最低 SDK 级别为 7 (2.2),目标 SDK 级别为 15 (4.0.3)。有什么解释或解决办法吗?

【问题讨论】:

  • 能否显示强制关闭给出的错误日志?
  • 是的,在这种情况下,如果没有堆栈跟踪,什么都做不了。
  • 您好,您如何从手机中获取堆栈跟踪信息?该应用程序通过 Eclipse 在模拟器上完美运行,没有错误,但是当我在手机上安装 apk 并运行该应用程序时,它会强制关闭。
  • 我不知道这是否有用,但这是我在模拟器上启动 SherlockFragmentActivity(在我的手机上强制关闭的那个)时的 LogCat 输出:pastebin.com/PJJ4D0VW

标签: android android-actionbar actionbarsherlock


【解决方案1】:

我终于明白了。使用 Proguard 时,必须在 Proguard 配置文件中添加以下行以确保 ActionBarSherlock 库的功能:

-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }

-keepattributes *Annotation*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多