当Gradle具有更改APK名称的自定义逻辑时,Android Studio将无菌APK上传到设备

当Gradle具有更改APK名称的自定义逻辑时,Android Studio将无菌APK上传到设备,android,gradle,android-studio,Android,Gradle,Android Studio,使用Android Studio时,我遇到以下错误: APK的日期比当前日期早2天(Gradle用于将生成日期附加到APK名称)。我检查了文件夹\build\outputs\apk,确实生成了一个日期正确的apk: 已尝试了以下方法: 构建->清洁项目 构建->重建项目 文件->使缓存无效/重新启动 如何修复此问题,以便将正确的APK上载到设备以运行 编辑: 更改了标题,以更好地反映发生此问题的情况。Android Studio似乎会在与Android Studio同步时记住Gradl

使用Android Studio时,我遇到以下错误:

APK的日期比当前日期早2天(Gradle用于将生成日期附加到APK名称)。我检查了文件夹\build\outputs\apk,确实生成了一个日期正确的apk:

已尝试了以下方法:

  • 构建->清洁项目
  • 构建->重建项目
  • 文件->使缓存无效/重新启动
如何修复此问题,以便将正确的APK上载到设备以运行


编辑: 更改了标题,以更好地反映发生此问题的情况。Android Studio似乎会在与Android Studio同步时记住Gradle提供的APK名称,但在运行Gradle创建实际文件时不会更新APK名称


在我的情况下,这是因为当前日期附加在APK名称之后,所以如果我在12/3将Gradle同步到Android Studio,Android Studio会记住APK文件名为app_2014-12-03.APK)。然后在12月4日使用Gradle构建并运行该应用程序将导致Android Studio和Gralde之间的断开连接,Gralde生成了app_2014-12-04.apk,但Android Studio仍然记得apk文件名为app_2014-12-03.apk。

Gradle和Android Studio之间的同步存在问题。按Gradle Sync图标(它是项目结构和AVD管理器之间的图标)将解决此问题


(在您要求解释的评论中-我在几周前找到了这个答案,当时我也对此有疑问[但现在我找不到这个页面]。如果我没记错的话,是信息,在同步期间Gradle正在通知AS关于不同信息,包括apk路径的信息。在您的情况下[和我过去的情况]路径每天都在变化,因为我们的日期是以apk的名义出现的,因此我们必须进行同步)

如果您想解决这个问题,可以查看我的答案


基本上,在执行命令行构建(例如从CI服务器)时,只需重命名APK。在进行正常开发时,Android Studio照常工作。

只是想获取更多信息;那么您发现生成了正确的应用程序了吗?如果是这样,那就意味着Android Studio及其将APK发送到设备的能力存在问题。尝试手动将在输出文件夹中找到的APK发送到设备上,只需使用电子邮件,然后查看应用程序是否正常工作并已正确编译。然后,在使用Android Studio之前,首先想到的是重新安装它。但我会等待一个更具创造性的解决方案,无论是我还是其他人,然后再做任何激烈的事情。@AeroVTP是的,正确的APK(xxx_2014-12-03.APK)已经生成并按预期工作,问题是Android Studio一直试图将一些不存在的旧APK(在本例中是xxx_2014-12-01.APK)发送到我的设备,失败了。事实上,它失败了更好,现在我怀疑过去的一些令人挠头的“这个漏洞怎么可能仍然存在”时刻是由于无菌APK被发送到我的设备。我更喜欢找到一个持久的解决方案,而不是进行卸载/重新安装,这会降低生产效率…尝试找到存储它的本地路径。我正在攻击这个问题,好像找不到文件一样;所以我想看看这篇关于如何解决这个问题的StackOverflow文章。希望这会有所帮助@AeroVTP您可以从我问题的第二张图片中看到,APK由Android Studio生成并存储在正确的位置,因此主要问题似乎是Android Studio不知何故决定另一个版本的APK是最新版本,而不是一秒钟前刚刚生成的:-/@MateuszPryczkowski似乎已经解决了问题。。。即使在这段时间里我没有改变格雷德尔。对这种行为有很好的解释吗?不管怎样,请把你的评论作为一个答案,我会记下来。这是什么原因,这只是一次帮助?每次在我运行我的项目之前,我必须同步Gradle。。。