2016-06-13 29 views
0

我得到一个错误,当我将建立一个签名的apk。我已经做了很多事情,但没有任何帮助...我会发布带有错误的消息。也许是我的错?错误,当我将建立一个签名的apk

Information:Gradle tasks [:app:assembleRelease] 
:app:preBuild UP-TO-DATE 
:app:preReleaseBuild UP-TO-DATE 
:app:checkReleaseManifest 
:app:preDebugBuild UP-TO-DATE 
:app:prepareComAndroidSupportAnimatedVectorDrawable2340Library UP-TO-DATE 
:app:prepareComAndroidSupportAppcompatV72340Library UP-TO-DATE 
:app:prepareComAndroidSupportDesign2340Library UP-TO-DATE 
:app:prepareComAndroidSupportMediarouterV72300Library UP-TO-DATE 
:app:prepareComAndroidSupportRecyclerviewV72340Library UP-TO-DATE 
:app:prepareComAndroidSupportSupportV42340Library UP-TO-DATE 
:app:prepareComAndroidSupportSupportVectorDrawable2340Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServices902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAds902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAdsLite902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAnalytics902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAppindexing902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAppinvite902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAuth902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesAuthBase902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesBase902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesBasement902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesCast902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesDrive902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesFitness902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesGames902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesGcm902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesIdentity902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesIid902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesLocation902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesMaps902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesNearby902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesPanorama902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesPlus902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesSafetynet902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesTagmanager902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesTagmanagerApi902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesTasks902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesVision902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesWallet902Library UP-TO-DATE 
:app:prepareComGoogleAndroidGmsPlayServicesWearable902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseAnalytics902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseAnalyticsImpl902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseAuth902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseAuthCommon902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseAuthModule902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseCommon902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseConfig902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseCrash902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseDatabase902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseDatabaseConnection902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseIid902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseMessaging902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseStorage902Library UP-TO-DATE 
:app:prepareComGoogleFirebaseFirebaseStorageCommon902Library UP-TO-DATE 
:app:prepareReleaseDependencies 
:app:compileReleaseAidl 
:app:compileReleaseRenderscript 
:app:generateReleaseBuildConfig 
:app:mergeReleaseShaders 
:app:compileReleaseShaders 
:app:generateReleaseAssets 
:app:mergeReleaseAssets 
:app:generateReleaseResValues 
:app:generateReleaseResources 
:app:mergeReleaseResources 
:app:processReleaseManifest 
:app:processReleaseResources 
:app:generateReleaseSources 
:app:incrementalReleaseJavaCompilationSafeguard 
:app:compileReleaseJavaWithJavac 
:app:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.). 
:app:compileReleaseNdk UP-TO-DATE 
:app:compileReleaseSources 
:app:lintVitalRelease 
:app:prePackageMarkerForRelease 
:app:transformClassesWithDexForRelease 
To run dex in process, the Gradle daemon needs a larger heap. 
It currently has approximately 910 MB. 
For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB. 
To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties. 
For more information see https://docs.gradle.org/current/userguide/build_environment.html 
Error:The number of method references in a .dex file cannot exceed 64K. 
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html 
:app:transformClassesWithDexForRelease FAILED 
Error:Execution failed for task ':app:transformClassesWithDexForRelease'. 
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2 
Information:BUILD FAILED 
Information:Total time: 2 mins 41.454 secs 
Information:2 errors 
Information:0 warnings 
Information:See complete output in console 

这些都是错误

错误1:

Error:The number of method references in a .dex file cannot exceed 64K. 
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html 

错误2:

Error:Execution failed for task ':app:transformClassesWithDexForRelease'. 
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2 

我希望有人能帮助我解决这个可怕的错误

+1

错误:方法引用的一个.DEX文件不能超过64K的数量。 通过https://developer.android.com/tools/building/multidex.html了解如何解决此问题 – kosa

+0

^以及在项目gradle.properties中执行此操作设置org.gradle.jvmargs = -Xmx2048M ' –

+0

或者,修复您的Google Play服务依赖关系,使其不包含所有**。请参阅本页上的第二个蓝色框。 https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project –

回答

1

的错误1明确表示w理由是帽子。这里是解决方案

查看您的应用程序的直接和传递依赖关系 - 确保您包含在应用程序中的任何大型库依赖项的使用方式超过了将被添加到应用程序的代码量。一种常见的反模式是包含一个非常大的库,因为少数实用方法是有用的。减少应用程序代码依赖性通常可以帮助您避免dex引用限制。

使用ProGuard删除未使用的代码 - 为您的应用程序配置ProGuard设置以运行ProGuard,并确保您已启用收缩版本的缩小功能。启用收缩功能可确保您不会将未使用的代码与APK一起发送。

而且在你的build.gradle添加此

defaultConfig { 
// Other settings here 
multiDexEnabled true 
} 
+0

只有'multiDexEnabled true'不启用Multidex,尽管 –

+0

有帮助!谢谢!! – Hessel