当前位置: 首页 > 知识库问答 >
问题:

Android Studio 2.3:自动生成的Debug-APK不再在物理设备上运行

孟祯
2023-03-14

我曾经在API21 AVD中测试我的Android应用程序(最小API21,目标25)。点击Android Studio中的“Run App”按钮后,在{project}/app/build/outputs/APK/中内置了一个调试APK。然后,我将该APK复制到物理API25设备中,以便进一步测试。

自从在Gentoo Linux上将Android Studio从2.2.3.0.145.3537739升级到2.3.0.8.162.3764568之后,这些自动生成的APK不再在物理设备上运行。应用程序在启动时立即崩溃,并且日志显示“java.lang.RuntimeException:无法实例化活动”,原因是“java.lang.ClassNotFoundException:未找到类{my main activity class}”。

当我通过点击“build>build APK”手动构建一个debug APK时,生成的APK与自动生成的APK具有不同的文件大小,而且它在物理设备上运行,没有任何抱怨。

所以,实际上有两个问题:
1。为什么手动生成的调试APK与自动生成的不同?
2。自Android Studio2.3以来,是什么原因导致自动生成的一个在我的物理设备上失败?它与以前的所有工作室版本都很好。

尽管存在USB调试,而且将debug APK复制到设备上的过程实际上是毫无意义的,但希望得到一些启示。:-)

共有1个答案

郭翰墨
2023-03-14

作为对该问题的注释的重述,如果启用了即时运行,则生成的debug apk将包含特定于设备API的代码,从而使其无法用于其他未为其构建的API。关闭即时运行将解决这一问题。

 类似资料:
  • 生成apk引发了此问题,但我能够在无法通过生成apk生成apk文件的设备上运行。就在几个月前,它是好的,我能够做一个构建apk,但几次更新后,我得到了下面的构建问题。我在互联网上搜索了很多,但没有什么对我有用,我已经发布了下面的消息和构建。格拉德档案也有。 等级: build.gradle: 错误消息: 这一问题的解决方案将非常好,并感谢所有人。

  • 无法在我的手机上安装已签名的发行版APK,也无法将其上载到Play Store上。 我创建了一个带有V1和V2 JAR签名复选框的签名发行版APK。当我尝试将APK放在我的手机上并安装它时: 未安装应用程序 没有JAR签名。 我使用的是Android Studio3.3版本,我正在处理一个Play Store Jar签名错误(重复选中V1和V2复选框,并且都选中了)。 播放存储错误: 这可能是一个

  • 当有多个android设备通过ADB连接时,有没有一种方法可以运行命令'ant debug install'? 我目前有两个设备通过WiFi连接到ADB。当我运行ant debug install时,我会遇到以下无限错误。 有没有一种方法可以同时安装到两个设备上?

  • 我正在评估运行移动web测试的AWS设备场。以下是我预期的步骤: 创建样本测试(Java) 打包为zip文件 通过AWS设备场控制台,仅上传测试zip 手动选择配置和其他东西 手动执行测试并评估结果 我需要帮助的事情是: a)如果测试需要一些更改,我是否需要在每次运行中完成JAR包的创建?我可以从我的IDE运行测试,如果一切正常,然后只打包并上传到AWS设备场? b) 我注意到他们有API来模拟步

  • 我在一个自动生成的代理后面。 我已经配置了设置。xml来使用这个代理,但它仍然不起作用。Android SDK可以很好地使用我设置的同一个代理。 我还能做些什么让maven工作? 错误: 如何获取我的NTLM身份验证凭据? 这是输出消息。在我的wpad中。dat(从我获取代理数据的地方),我没有指定的用户名和密码。。。

  • 问题内容: 我在Appium面临的问题是我在下面决定的。不使用SUDO,我找不到安装Appium所需组件的方法。用SUDO安装所有组件之后,然后尝试运行Appium,我得到了错误,应该在没有SUDO的情况下安装Appium和NODE。尝试在线搜索解决方案花了我一段时间,因为在使用JAVA开发测试时,几乎没有在线教程可供Appium在MAC上运行。以下是有关如何在Mac OS上设置Appium以及如