Android studio 3.0不生成已签名的apk

Android studio 3.0不生成已签名的apk,android,android-studio,apk,Android,Android Studio,Apk,将android studio更新到3.0版(windows)后,我无法生成已签名的APK 构建完成后,我会收到以下消息: 单击“定位”会将我带到应用程序文件夹,但找不到APK 更改了什么?自Android Studio 3.0更新以来,生成的apk将在 {project-folder}/app/release/app-release.apk 另外还生成了一个文件Output.json,其中保存了apk生成的详细信息 样本: [ { "outputType":{

将android studio更新到3.0版(windows)后,我无法生成已签名的APK

构建完成后,我会收到以下消息:

单击“定位”会将我带到应用程序文件夹,但找不到APK


更改了什么?

自Android Studio 3.0更新以来,生成的apk将在

{project-folder}/app/release/app-release.apk
另外还生成了一个文件Output.json,其中保存了apk生成的详细信息

样本:

[  
   {  
      "outputType":{  
         "type":"APK"
      },
      "apkInfo":{  
         "type":"MAIN",
         "splits":[  

         ],
         "versionCode":1
      },
      "path":"app-debug.apk",
      "properties":{  
         "packageId":"njscommunity.xxxxx",
         "split":"",
         "minSdkVersion":"19"
      }
   }
]

这一切都取决于Gradle构建,所以最终这一切都取决于您使用的Gradle版本。i、 e.Android Studio的Gradle Android插件。

升级到Android Studio 3.0(windows)后,我遇到了确切的问题

在花费数小时寻找解决方案之后, 我发现,那个简单的动作帮我解决了问题:

将目标路径apk更改为其他路径。 (我对C:)刚刚解决了


我也面临同样的问题。几小时后降级

classpath 'com.android.tools.build:gradle:3.0.0'  


解决了build.gradle文件中的问题

在我的例子中,我在
{specified_destination}/{flavor_name}/release文件夹中找到了apk文件
Android Studio 3.0现在在指定的目标文件夹中创建了一个“release”文件夹,并将release apk放在该文件夹中

{APK Destination Folder}\release\app release.APK

或如@velis所述

{APK目标文件夹}{flavor}{variant}{apkname}.APK

例如:- 在您的情况下:C:\apps\app\release\app release.apk

几乎正确:

生成的文件路径是您指定的目标文件夹+
{flavor}/{variant}/


{destination}/{flavor}/{variant}/{apkname}.apk

另一件事是Android Studio 3.0将使其成为一个.aab文件,这是一个应用程序包文件。这使您能够在GooglePlay中进行代码签名,因此您不必在本地拥有密钥。关于如何做到这一点,这里有一个答案。这似乎是朝着正确方向迈出的一步,即使在实际操作时不是很清楚。

在我的情况下,一切都是正确的,但android studio不是由APK生成的,我没有收到错误消息

以前我使用重构更新我的包名
com.test.package
com.final.name.package
,即使创建一个未签名的APK,所有工作都很好


最后,我可以看到gradle中的applicationId具有旧的包名,当将其更改为新的包名时,将生成签名的APK,而不会出现问题。

您的设备、Windows、mac、linux是什么?我刚刚更新了它工作正常,请确保您的文件夹项目可见或not@NirajSanghani“C:\apps\app”此路径是否类似于Linux?您是否能够访问此文件夹,并且具有写入权限?您是否尝试从控制台使用gradlew生成发布版本,例如从项目根文件夹生成gradlew.bat assembleRelease这仅在通过run运行发布版本时有效,但是,如果你手动生成发布版本,那么它会在选择位置的地方生成。你至少要检查一下,我只是手动生成的,但是它会转到那一年,所以无论你在哪里生成,都会有/release/app-release.apk这对我不起作用。我的问题与OP相同,但没有/app/release文件夹。只有它通常生成到的/app,但没有“release”文件夹。似乎根本没有生成任何内容。我的文件实际上位于{project_folder}/{module_name}/production/releaseGradle 3.0.0是一个非常重要的版本,有很多更改。降级不是解决办法,我知道。但是,如果你需要一个紧急发布到市场,我宁愿正确地签署我的APK。Yo总是可以使用gradle 3.0.0,并且只为了发布而更改它。事实上,我更喜欢签署一份APK,在我更新到gradle 3.0.0之后我就不能了。对我来说,它是有效的,所以如果3.0.0不适用于所有人,你是想说solurion正在更新到3.0.0并且没有签署任何APK??感谢您的负面反馈,BTWUPV之所以选择此项,是因为它在短期内对我有效。但我可以理解,这不是一个非常令人满意的解决办法。当然!谢谢现在正确的答案是Sahil Kopoor提出的答案,但当我回答它不起作用时,这非常接近,但“变体”实际上是“风味”和“构建类型”的组合。因此,如果您有两种风格的开发和生产,以及两种构建类型的调试和发布,那么您有四种可能,文件夹将是
{APK Destination Folder}\{Flavor}\{BuildType}{apkname}.APK
我花了几个小时才弄清楚它位于{Flavor}文件夹中。
classpath 'com.android.tools.build:gradle:2.3.3'