【问题标题】:Edit proguard-project.txt in cordova application在 cordova 应用程序中编辑 proguard-project.txt
【发布时间】:2020-11-20 01:55:07
【问题描述】:

我正在使用 cordova 来构建我的应用程序。在这个应用程序中,我正在构建一个 cordova 插件。在插件的 android 部分,我需要包含另一个服务。但要包含该服务,我需要在 build.gradleproguard-project.txt 文件中添加一些行。

我可以通过添加我自己的 gradle 文件来编辑 Gradle 文件,如下所示

<framework src="relative/path/your.gradle" custom="true" type="gradleReference" />

但我找不到如何在 proguard-project.txt 中添加一些代码。

有人知道如何在 proguard-project.txt 中添加一些行吗?

【问题讨论】:

标签: android cordova cordova-plugin-proguard


【解决方案1】:

proguard-rules.pro 文件是您可以添加自定义 ProGuard 规则的地方。

默认情况下,该文件位于模块的根目录(build.gradle 文件旁边)。

要添加更多特定于每个构建变体的 ProGuard 规则,请在相应的 productFlavor 块中添加另一个 proguardFiles 属性。

android {
...
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'),
               'proguard-rules.pro'
    }
}
productFlavors {
    flavor1 {
    }
    flavor2 {
        proguardFile 'flavor2-rules.pro'
    }
}
}

阅读更多Shrink Your Code and Resources

【讨论】:

    【解决方案2】:

    我在互联网上搜索了高低并找不到答案,但我很幸运并且想通了!就我而言,我有一个 Ionic / Angular 应用程序(我仍在使用 Ionic v3,但这可能也适用于 v4)。

    1. src/assets/ 文件夹中创建一个名为proguard-custom.txt 的文件,并在此处添加您的自定义属性。
      • 在我的情况下,cordova-plugin-proguard 遇到了cordova-plugin-ionic-webview 的问题,所以我添加了这些行来解决这个问题
        -keep class com.ionicframework.cordova.webview.** { *; } 
        -keep class com.ionicframework.cordova.webview.*
        
    2. 如果您已经在项目中安装了 cordova-plugin-proguard,请将其删除并重新添加。添加插件会从您的自定义 .txt 文件中获取您的配置。
      ionic cordova plugin remove cordova-plugin-proguard
      ionic cordova plugin add cordova-plugin-proguard
      
    3. 添加/删除 Android 平台
      ionic cordova platform rm android
      ionic cordova platform add android
      
    4. 您可以通过查看/platforms/android/app/src/main/assets/www/proguard-custom.txt 文件来验证您的自定义设置是否已添加。您将看到 cordova-plugin-proguard 插件添加的所有默认选项,但在文件底部您应该看到添加到 proguard-custom.txt 文件中的所有内容!

    因此,现在您不必担心每次构建 Android 应用时手动更改此文件。请记住,无论何时更改 src/assets/proguard-custom.txt 文件,都必须删除并添加 cordova-plugin-proguard 插件。

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 2016-01-23
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多