Android Studio无法生成已签名的APK。

15

最近我把我的安卓工作室IDE更新到了Android Studio 1.5.1。但是现在我遇到了一些麻烦,因为更新后它没有生成已签名的APK文件。但是当我连接设备并运行应用程序时,它可以正常运行。当我使用

Build -> Generate Signed Apk

在事件日志中显示:

10:38:51 AM Executing tasks: [:app:assembleRelease]

滑块显示一些时间然后消失。它也不会显示构建生成完成对话框。接着我更改了构建变量并尝试使用连接的设备运行应用程序。在事件日志中它显示

10:43:32 AM Executing tasks: [:app:assembleDebug]

几秒钟后会弹出一个窗口,显示已成功生成Apk文件,但是签名后的apk文件仍未出现在相关文件夹中。 应用程序在设备上正常运行。我的完整事件日志如下。

10:38:51 AM Executing tasks: [:app:assembleRelease]
10:43:32 AM Executing tasks: [:app:assembleDebug]
10:43:46 AM Gradle build finished in 13s 964ms
10:43:46 AM Generate Signed APK
            APK(s) generated successfully.
            Reveal in Finder
10:43:46 AM Generate Signed APK
            APK(s) generated successfully.
            Reveal in Finder
10:43:46 AM Generate Signed APK
            APK(s) generated successfully.
            Reveal in Finder
10:43:46 AM Generate Signed APK
            APK(s) generated successfully.
            Reveal in Finder
10:43:47 AM Generate Signed APK
            APK(s) generated successfully.
            Reveal in Finder
10:43:47 AM Generate Signed APK
            APK(s) generated successfully.
            Reveal in Finder
10:43:47 AM Generate Signed APK
            APK(s) generated successfully.
            Reveal in Finder
10:43:52 AM Session 'app': Launched on samsung-sm_t211-4100cede9628b000

同时我的 build.gradle 文件如下。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion '23.0.0 rc3'
    defaultConfig {
        applicationId "com.lf"
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 63
        versionName '2.0.9'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile 'com.android.support:support-v4:22.2.1'
    compile project(':holoColorPickermaster')
    compile project(':qRCodeReaderViewlib')
    compile project(':volley')
    compile project(':library')
}

那我该怎么解决这个问题呢?我在出现问题后完全更新了Android Studio,但还是一样。


清理并构建,然后尝试。 - droidev
做了,但还是一样。 - Samantha Withanage
你有收到任何错误吗? - droidev
您需要在适当的路径下拥有.jks密钥文件。 - Madhukar Hebbar
@Madhukar Hebbar,我有密钥文件,并且之前已经为该应用程序生成了签名的APK。这是几天前发生的,当时我更新了Android Studio。在那之前,IDE正常工作。 - Samantha Withanage
显示剩余8条评论
4个回答

10

我面临了同样的问题,但是我通过在 build.gradle 中添加以下代码解决了这个问题。

lintOptions {
        checkReleaseBuilds false
    }

这个问题可能会出现,有时我们的应用程序没有遵循 Lint 工具的所有规则和规定

注意:将此添加到应用程序模块中的 android 标签内


1
这并没有帮助我。升级到Android Studio 3.0.1后出现了问题。 - Dale

9

对于Android Studio 3,与其将APK直接放入文件夹中,它会创建一个“发布”文件夹或与您的构建风格相匹配的文件夹。

所以,当您点击locate时,它会将您放到app级别。 您需要进入release文件夹才能获取您的APK文件。

prompt to locate your APK file

通常,您会在release文件夹中查找:

folder structure in AS 3

但是,如果您除了release风格之外构建了其他风格,您应该搜索具有该名称的文件夹。


哦天啊,我现在感觉好蠢,我的眼睛一直在寻找一个 .jpk 文件,而不是一个以我的应用程序名称命名的文件夹 x) 谢谢! - Arbitur
1
@Dale,非常感谢你的帮助!我在Android Studio 3.0中也遇到了同样的问题。 - Lucky_girl
1
此外,它不一定是“release”文件夹,它的名称与您选择生成apk的版本相同。 - AlexeyGorovoy
有没有办法阻止创建“release”文件夹? - maatik5

2
  1. 确保你的密钥库是正确的,密码和路径也是正确的。

  2. 然后进行清理和重新构建。

  3. 组装所需的构建(不要执行或运行)。

  4. 然后生成已签名的APK。


1
执行了,但没有效果。很可能是更新 IDE 的一些问题。 - Samantha Withanage
1
这并没有帮助我。3.0.1的升级破坏了某些东西。 - Dale

0
我通过完全删除Android Studio及其相关文件并重新安装来解决了这个问题,现在它正常工作。这可能与我在IDE中使用的插件有关,因此在我的Mac上,我使用以下终端命令来删除Android Studio。
rm -Rf /Applications/Android\ Studio.app
rm -Rf ~/Library/Preferences/AndroidStudio*
rm ~/Library/Preferences/com.google.android.studio.plist
rm -Rf ~/Library/Application\ Support/AndroidStudio*
rm -Rf ~/Library/Logs/AndroidStudio*
rm -Rf ~/Library/Caches/AndroidStudio*
rm -Rf ~/.gradle
rm -Rf ~/.android

然后我重新安装了IDE并安装了必要的SDK,这解决了我的问题。


5
这似乎是一个需要花费很多时间的极端解决方案。一定有更好的方法。 - Dale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接