6

将我的顶级 build.gradle 更改为使用Android Plugin for Gradle 3.0.0-beta3withGradle 4.1后,AirWatch无法从 APK 中读取信息(如 versionCode 和 versionName)。

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta3'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext {
    roomVersion = '1.0.0-alpha9'
    supportLibVersion = '26.0.1'
}

这是一个已知的问题?任何解决方法?

4

3 回答 3

8

Airwatch 的新 AAPT2 工具存在问题,与 AAPT 相比,该工具似乎以压缩形式编译 Manifest.xml 文件。AAPT2 成为 Android Studio 3 的标准,但您可以通过以下方式轻松回到 AAPT

android.enableAapt2=false

在项目的 gradle.properties 文件中。至少解决了我们项目中的问题。

于 2017-11-21T18:05:37.860 回答
1

我没有足够的声誉来发表评论,但我只是想问一下,您是否发现了有关此主题的任何新信息,因为我们的客户使用 AirWatch,我们在更新 gradle 后遇到了类似的问题。

特别是在从 Android Studio 2 更新到 Android Studio 3 并因此更改了它附带的所有 gradle 内容之后。

于 2017-09-13T10:54:52.737 回答
0

在撰写本文时,Airwatch 有一个限制,它不会更新使用 Android gradle 插件 3.0 编译的应用程序。

有2个解决方法。1. 使用 gradle 插件 2.3.3 或 2. 将使用 gradle 插件 3.0 构建的 apk 作为单独的应用程序上传到控制台。手动定义 App/ID 版本代码并部署。

于 2017-09-23T13:44:14.587 回答