使用 Cordova Android 4 的 Proguard?
Posted
技术标签:
【中文标题】使用 Cordova Android 4 的 Proguard?【英文标题】:Proguard with Cordova Android 4? 【发布时间】:2015-09-04 15:54:16 【问题描述】:在使用 Ant 构建 Cordova 时,我让 ProGuard 为发布构建运行,但现在使用 Gradle,我的项目的发布构建没有被混淆(我的“cordova build --release android”输出显示了一个步骤:CordovaLib:mergeReleaseProguardFiles ,但没有其他 proguard/minification/obfuscation 条目)。
使用 Ant,我的 project.properties 文件使用 proguard.config 参数引用了我的 proguard-project.txt 文件。
既然 Cordova 使用 Gradle,我该如何配置它才能工作?
【问题讨论】:
你可以使用cordova-plugin-proguard alfilatov.com/posts/… 【参考方案1】:查看更新后的Proguard Documentation,您现在必须更改build.gradle
文件。
将 buildType 发布部分更改为类似这样的内容
android
...
buildTypes
release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
【讨论】:
谢谢,但是 Cordova-Android 的 build.gradle 文件有这样的注释:// GENERATED FILE!不要编辑!我正在寻找与 Cordova 兼容的解决方案 这只是正常的行为。仅当您重新初始化项目时,此获取才会被覆盖。它是一个特定于 android 的,与 cordova 无关 - 如果你想安全的话,你也可以分配一个钩子,在你添加 android 平台后自动重新启用它。 文件proguard-rules.pro 是Android Studio 的神器;改用 proguard-project.txt 就可以了——这就是在早期的 Cordova 版本中的名称。正如另一条评论所建议的那样,我将这些属性添加到 after_platform_add 挂钩中。 你可以使用cordova-plugin-proguard alfilatov.com/posts/…以上是关于使用 Cordova Android 4 的 Proguard?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Cordova Android 4 的 Proguard?
Cordova 4.0 上的 Android 片段内的 Cordova webview
将 Cordova 6.1.1 项目添加到 Android 4.4.2 版本
Cordova 4.0 config.xml 中的 Android 权限