在cordova应用程序中编辑proguard-project.txt

时间:2016-12-04 03:38:53

标签: android cordova

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

您可以在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

答案 1 :(得分:0)

我在互联网上搜寻高低两档,找不到答案,但我很幸运,终于找到答案了!就我而言,我有一个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插件。