3

我最近将我的混合 MobileFirst 应用程序的 mfp 插件升级到 8.0.20180408,并将我的 cordova-android 插件升级到 7.0.0。当我对应用程序进行调试构建时,构建成功,但是在我进行发布构建(签名 apk)的那一刻,该过程产生了很多 proguard 警告。当我将 cordova-android 版本降级到 6.4.0 时,发布构建成功。

根据 iFix发行说明,mobilefirst cordova 插件应该支持 cordova-android v7 自 MobileFirst iFix 8.0.0.0-MFPF-IF201804051553 以来,但似乎这个 ifix 中的它存在问题。

4

1 回答 1

3

我对 proguard 配置文件进行了一些调查,因为 gradle 构建过程似乎存在问题,找不到正确的 proguard 配置文件。

mfp cordova 插件包含一个名为proguard-project-mfp.txt 的proguard 配置文件,该文件被添加到混合项目的android 平台。该插件还包含一个 gradle 文件

开发-构建-extras.gradle

它指定 proguard 配置文件的位置。配置中指定的 proguard 文件没有附加路径:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project-mfp.txt'

好像在cordova-android 7.x中,生成android平台时,将proguard-project-mfp.txt文件复制到目录下

平台/android/app/src/main/
而 dev-build-extras.gradle 文件位于目录中
平台/android/cordova-plugin-mfp/

这意味着 gradle 找不到 proguard 配置文件。更新 gradle 文件中相对于 gradle 文件的 proguard 配置文件位置似乎可以解决问题并允许构建已签名的 apk。

总之,更新文件

平台/android/cordova-plugin-mfp/dev-build-extras.gradle

与以下

// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project-mfp.txt'
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../app/src/main/proguard-project-mfp.txt'

您的 dev-build-extras.gradle 文件现在应该如下所示:

android {
    buildTypes {
        release {
            minifyEnabled true
            // proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project-mfp.txt'
            proguardFiles getDefaultProguardFile('proguard-android.txt'), '../app/src/main/proguard-project-mfp.txt'
        }
    }
    .
    .
    .
}
于 2018-04-17T00:37:07.500 回答