其他分享
首页 > 其他分享> > 使用MobileFirst 8.0 IF201804051553进行Android版本构建时的Proguard警告

使用MobileFirst 8.0 IF201804051553进行Android版本构建时的Proguard警告

作者:互联网

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

自从MobileFirst iFix 8.0.0.0-MFPF-IF201804051553起,自iFix release notes起,mobilefirst cordova插件应该支持cordova-android v7,但在此ifix中似乎存在问题.

解决方法:

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

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

dev-build-extras.gradle

 

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

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

似乎在cordova-android 7.x中,当生成android平台时,它将proguard-project-mfp.txt文件复制到目录中

platforms/android/app/src/main/

 而dev-build-extras.gradle文件位于目录中

platforms/android/cordova-plugin-mfp/

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

总结一下,更新文件

platforms/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'
        }
    }
    .
    .
    .
}

标签:ibm-mobilefirst,cordova,android-proguard,android
来源: https://codeday.me/bug/20191109/2011590.html