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

Android Studio 2.3: Autogenerated Debug-APK no longer runs on physical device

我曾经在 API 21 AVD 中测试我的 Android 应用程序(最小 API 21,目标 25)。单击 Android Studio 中的 "run app" 按钮后,在 {project}/app/build/outputs/apk/ 中构建了一个调试 APK。然后我将该 APK 复制到我的物理 API 25 设备上以进行进一步测试。

自从在 Gentoo Linux 上将 Android Studio 从 2.2.3.0.145.3537739 升级到 2.3.0.8.162.3764568 后,这些自动生成的 APK 不再 运行 在物理设备上。应用程序在启动时立即崩溃,并且日志显示由 "java.lang.ClassNotFoundException: Didn't find class {my main activity class}".

引起的 "java.lang.RuntimeException: Unable to instantiate activity"

当我通过单击 "Build > Build APK" 手动构建调试 APK 时,生成的 APK 的文件大小与自动生成的不同,而且它 运行 在物理设备上没有任何投诉。

那么,其实有两个问题:
1. 为什么手动生成的debug APK和自动生成的不一样?
2. 自 Android Studio 2.3 以来,是什么导致自动生成的在我的物理设备上失败?它适用于之前的所有 Studio 版本。

希望获得一些见解,尽管存在 USB 调试并且将调试 APK 复制到设备的过程实际上毫无意义。 :-)

作为对问题评论的回顾,如果启用 Instant 运行,则生成的调试 apk 将包含设备 API 特定代码,因此无法在其他 API 上使用它不是为此而建造的。关闭 Instant 运行 可以解决这个问题。