Android 应用程序在.apk崩溃

Android 应用程序在.apk崩溃,android,Android,当我连接电缆时,我创建的应用程序在emulator或我的设备上运行良好,但当我创建一个.apk文件(我将其发送给自己)并试图在崩溃的情况下在我的设备上运行时 在过去,它在我创建的其他应用程序中有效,但在这种情况下它不会。 我正在使用带有默认键(android)的.android/debug.keystore)。我也尝试创建一个新的密钥库,但当我运行apk时,应用程序仍然崩溃 有人有过这种错误的经验吗?有没有线索可以修复它 编辑: 虫情告诉我: java.lang.NoClassDefFoundE

当我连接电缆时,我创建的应用程序在emulator或我的设备上运行良好,但当我创建一个.apk文件(我将其发送给自己)并试图在崩溃的情况下在我的设备上运行时

在过去,它在我创建的其他应用程序中有效,但在这种情况下它不会。 我正在使用带有默认键(
android
)的
.android/debug.keystore
)。我也尝试创建一个新的密钥库,但当我运行apk时,应用程序仍然崩溃

有人有过这种错误的经验吗?有没有线索可以修复它

编辑:

虫情告诉我:

java.lang.NoClassDefFoundError: xx.xxx.xxxxx.xxxxx.CommonUtilities
at xx.xxxx.xxxxx.xxxxx.xxxxxx.onTabChanged(Tabs.java:617) 
at xx.xxxx.xxxxx.xxxxx.xxxxxx.initialiseTabHost(Tabs.java:544)
at xx.xxx.xxxxx.xxxxx.xxxxxx.onCreate(Tabs.java:90) 

您的NoClassDefFoundError有两个选项

  • ProGuard正在缩小文件并删除/剥离/重新压缩应用程序工作所需的库

  • 您的生成路径未正确配置,并且您使用的库未打包到.apk中

  • 编辑:


    公共设施的定义在哪里?外部库?

    问题是我在右键单击->导出时导出了apk! 当最终产品准备发布时,您必须对其进行这种导出

    当你的应用还在开发中时,正确的导出方法是右键单击项目->Android工具->导出签名的应用程序包


    非常感谢大家的帮助,从这个问题中学到了android上的新东西。

    发布你的logcat堆栈跟踪。我不能拥有logcat,因为它是一个apk文件,我正在通过电子邮件发送给我自己。它是如何崩溃的?但是,它与您用于签署应用程序的密钥库无关。这不是问题的原因crash@ManosK还有一只原木猫。安装apk并运行后-应用程序崩溃-再次将手机连接到计算机并运行
    adb-d logcat
    -它将显示日志。是的,我已经看到了,谢谢,但它显示了与BugSense相同的错误。该错误在应用程序的主包中定义。是否使用ProGuard?很可能出于某种原因,ProGuard认为您没有使用这个类,并将它从final.apk中剥离出来。您是通过反射还是直接访问该类?不,我没有使用proguard,因为我没有启用设置此xx.xxx.xxxxx.xxxxx.CommonUtilities的完整包路径是什么?是来自Android框架的东西吗?来自支持库?或者是你自己创建的,它在你的应用程序中?完整的包路径是我自己创建的,它在我的应用程序
    project->Android Tools->Export Signed Application package
    中,这就是导出Android项目的方式。如果您想在开发期间导出它,可以导出未签名的应用程序。但您必须始终通过Android工具菜单导出Android项目。