Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么IntelliJ IDEA在Gradle项目中只创建未对齐的APK?_Android_Intellij Idea - Fatal编程技术网

Android 为什么IntelliJ IDEA在Gradle项目中只创建未对齐的APK?

Android 为什么IntelliJ IDEA在Gradle项目中只创建未对齐的APK?,android,intellij-idea,Android,Intellij Idea,我一直在使用IDEA 13.1,并用它创建了一个Gradle项目。当我编译并启动应用程序时,它只创建未对齐的APK 使用Android Studio打开同一个项目,重建并启动应用程序,将生成未对齐和常规未签名的APK 这是IntelliJ IDEA中的一个bug吗?如果没有,我在哪里可以设置它总是生成一个常规的、对齐的APK?对齐/输出不取决于IDE,而是取决于您的渐变配置。IntelliJ和AndroidStudio都只是在后台运行Gradle 默认情况下,自动生成的Gradle文件build

我一直在使用IDEA 13.1,并用它创建了一个Gradle项目。当我编译并启动应用程序时,它只创建未对齐的APK

使用Android Studio打开同一个项目,重建并启动应用程序,将生成未对齐和常规未签名的APK


这是IntelliJ IDEA中的一个bug吗?如果没有,我在哪里可以设置它总是生成一个常规的、对齐的APK?

对齐/输出不取决于IDE,而是取决于您的渐变配置。IntelliJ和AndroidStudio都只是在后台运行Gradle

默认情况下,自动生成的Gradle文件
build.Gradle
不会运行
zipAlign
任务,即对齐apk的任务。所以你最终得到了一个未对齐的apk

您可以通过添加
zipalingEnabled true
属性轻松更改它,如下所示:

    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        zipAlignEnabled true
    }
但让我提醒你,归档对齐只是一种优化,它不会改变你的应用程序

此外,从:

警告:zipalign只能在使用私钥对.apk文件进行签名后执行。如果在签名之前执行zipalign,则签名过程将撤消对齐


有关更多信息,请查看,以及。

我使用的是Android Studio,只获得了未对齐的发布版本