【问题标题】:Generating signed APK outputs no file生成签名的 APK 不输出文件
【发布时间】:2016-05-21 14:43:31
【问题描述】:

生成签名的 APK 时,不会输出任何文件。 gradle构建日志中没有错误,如下所示,所以我不知道从哪里开始这个问题。

这是一个展示这一现象的视频:https://www.youtube.com/watch?v=AuZvSRXe-b0

这里是 gradle 控制台日志:

   Executing tasks: [:app:assembleRelease]

    Parallel execution with configuration on demand is an incubating feature.
    Incremental java compilation is an incubating feature.
    :app:preBuild UP-TO-DATE
    :app:preReleaseBuild UP-TO-DATE
    :app:checkReleaseManifest
    :app:preDebugBuild UP-TO-DATE
    :app:prepareCnPedantSweetalertLibrary13Library UP-TO-DATE
    :app:prepareComAndroidSupportAnimatedVectorDrawable2340Library UP-TO-DATE
    :app:prepareComAndroidSupportAppcompatV72340Library UP-TO-DATE
    :app:prepareComAndroidSupportCardviewV72340Library UP-TO-DATE
    :app:prepareComAndroidSupportDesign2340Library UP-TO-DATE
    :app:preDebugAndroidTestBuild UP-TO-DATE
    :app:prepareComAndroidSupportMultidex101Library UP-TO-DATE
    :app:prepareComAndroidSupportRecyclerviewV72340Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportV132340Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportV42340Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportVectorDrawable2340Library UP-TO-DATE
    :app:prepareComGithubChyrtaAndroidOnboarder06Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesAds900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesAdsLite900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesAnalytics900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesBase900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesBasement900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesGcm900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesIid900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesLocation900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesMaps900Library UP-TO-DATE
    :app:prepareComGoogleAndroidGmsPlayServicesTasks900Library UP-TO-DATE
    :app:prepareComGoogleFirebaseFirebaseAds900Library UP-TO-DATE
    :app:prepareComGoogleFirebaseFirebaseAnalytics900Library UP-TO-DATE
    :app:prepareComGoogleFirebaseFirebaseAnalyticsImpl900Library UP-TO-DATE
    :app:prepareComGoogleFirebaseFirebaseCommon900Library UP-TO-DATE
    :app:prepareComGoogleFirebaseFirebaseCore900Library UP-TO-DATE
    :app:prepareComGoogleFirebaseFirebaseIid900Library UP-TO-DATE
    :app:prepareComKarumiDexter222Library UP-TO-DATE
    :app:prepareComMikepenzAboutlibraries566Library UP-TO-DATE
    :app:prepareComMikepenzFastadapter151Library UP-TO-DATE
    :app:prepareComMikepenzFontawesomeTypeface4501Library UP-TO-DATE
    :app:prepareComMikepenzGoogleMaterialTypeface2101OriginalLibrary UP-TO-DATE
    :app:prepareComMikepenzIconicsCore2511Library UP-TO-DATE
    :app:prepareComMikepenzMaterialdrawer464Library UP-TO-DATE
    :app:prepareComMikepenzMaterialize051Library UP-TO-DATE
    :app:prepareComOgaclejapanSmarttablayoutLibrary160Library UP-TO-DATE
    :app:prepareComOgaclejapanSmarttablayoutUtilsV4160Library UP-TO-DATE
    :app:prepareComPnikosisMaterialishProgress10Library UP-TO-DATE
    :app:prepareComWdullaerMaterialdatetimepicker230Library UP-TO-DATE
    :app:prepareIoGithubYavskiFabSpeedDial104Library UP-TO-DATE
    :app:prepareNetDanlewAndroidJoda292Library UP-TO-DATE
    :app:prepareReleaseDependencies
    :app:compileReleaseAidl UP-TO-DATE
    :app:compileReleaseRenderscript UP-TO-DATE
    :app:generateReleaseBuildConfig UP-TO-DATE
    :app:mergeReleaseShaders UP-TO-DATE
    :app:compileReleaseShaders UP-TO-DATE
    :app:generateReleaseAssets UP-TO-DATE
    :app:mergeReleaseAssets UP-TO-DATE
    :app:generateReleaseResValues UP-TO-DATE
    :app:generateReleaseResources UP-TO-DATE
    :app:mergeReleaseResources UP-TO-DATE
    :app:processReleaseManifest UP-TO-DATE
    :app:processReleaseResources UP-TO-DATE
    :app:generateReleaseSources UP-TO-DATE
    :app:incrementalReleaseJavaCompilationSafeguard UP-TO-DATE
    :app:compileReleaseJavaWithJavac UP-TO-DATE
    :app:compileReleaseNdk UP-TO-DATE
    :app:compileReleaseSources UP-TO-DATE
    :app:lintVitalRelease
    :app:prePackageMarkerForRelease
    :app:processReleaseJavaRes UP-TO-DATE
    :app:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
    :app:transformClassesAndResourcesWithProguardForRelease UP-TO-DATE
    :app:collectReleaseMultiDexComponents UP-TO-DATE
    :app:transformClassesWithMultidexlistForRelease UP-TO-DATE
    :app:transformClassesWithDexForRelease UP-TO-DATE
    :app:mergeReleaseJniLibFolders UP-TO-DATE
    :app:transformNative_libsWithMergeJniLibsForRelease UP-TO-DATE
    :app:validateExternalOverrideSigning
    :app:packageRelease UP-TO-DATE
    :app:assembleRelease

    BUILD SUCCESSFUL

    Total time: 3.483 secs

【问题讨论】:

  • 同样的问题。我正在使用 Studio 2.2。您解决了问题吗?
  • @zackygaurav 是的,它已在 Studio 2.2 Preview 中解决 2

标签: java android android-gradle-plugin build.gradle


【解决方案1】:

我使用 gradle 脚本将发布 apk 组装到目标路径。 代码如下:

android {
   applicationVariants.all{ variant->
      variant.outputs.each { output->
        if(variant.buildType.name.equals('release')){
            output.outputFile = new File('/Users/yourname/Desktop/', ’myapk.apk')
        }
    }
   }
}

【讨论】:

    【解决方案2】:

    原来Android Studio 2.2 Preview 1有时喜欢将文件输出到错误的目录中。在尝试生成 APK 时,这些文件被放在 AndroidStudioProjects/AppName/app/build/outputs/apk 中,而不是在弹出对话框中选择的目录。

    【讨论】:

      【解决方案3】:

      尝试重启并使缓存失效:

      this answer中提到的:

      【讨论】:

      • 我试过了,但文件仍然放在错误的目录中。我猜这是 Android Studio 2.2.1 预览版的一个错误
      【解决方案4】:

      我也是,只要把你的 gradle 2.2.0-alpha1 改成 gradle 1.5.0 或者其他,就可以正常生成签名的 apk。

      【讨论】:

      • 如果更改为 1.5.0,Instant Run 将不起作用。您必须提出更好的解决方案。
      • 哦,即时运行?只要使用 JRebel 就可以了。
      猜你喜欢
      • 2019-06-21
      • 2018-12-17
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多