我的安卓应用是酷阅读器的定制版。当我从 Eclipse 运行应用程序或在手机上调试它时,它运行良好。但是当我签名、导出、安装并从手机运行它时,它崩溃了。
在 logcat 中,我在应用程序崩溃之前看到以下内容:
07-17 21:40:40.371: D/Zygote(1218): Process 3136 terminated by signal (11)
07-17 21:40:40.371: E/InputDispatcher(1331): channel '40b7d8a8 com.myCustomApp/org.coolreader.CoolReader (server)' ~ Consumer closed input channel or an error occurred. events=0x8
07-17 21:40:40.371: E/InputDispatcher(1331): channel '40b7d8a8 com.myCustomApp/org.coolreader.CoolReader (server)' ~ Channel is unrecoverably broken and will be disposed!
07-17 21:40:40.451: D/dalvikvm(1331): GC_FOR_MALLOC freed 758K, 35% free 9419K/14279K, external 2060K/2410K, paused 85ms
07-17 21:40:40.451: I/WindowManager(1331): WIN DEATH: Window{40b7d8a8 com.myCustomApp/org.coolreader.CoolReader paused=false}
07-17 21:40:40.451: I/ActivityManager(1331): Process com.myCustomApp (pid 3136) has died.
07-17 21:40:40.471: E/ActivityManager(1331): fail to set top app changed!
更新: 如果您不了解 CoolReader(我正在使用的开源项目),它是 jni 代码,具有 proGuard 配置,并使用 ndk。它也有普通的 Java 代码。我对 jni/ndk 或任何低级 c\c++ 代码没有太多经验,所以我不确定我能在那里做什么。
但同样,最重要的是它从 Eclipse 运行时运行良好,但导出的版本会自行关闭。