【问题标题】:Reordering Gradle default tasks重新排序 Gradle 默认任务
【发布时间】:2013-10-14 10:19:28
【问题描述】:

我正在尝试将 Android 项目从 Ant 迁移到 Gradle。项目中有本机代码,所有来自 JNI 的 Java 代码调用都被自定义 ant 目标混淆。所以在 Ant 目标中按顺序调用:

  • 编译java代码
  • 运行proguard
  • proguard后根据mapping.txt修改JNI代码的自定义任务
  • 原生构建

在 Gradle 中,我使用 JNI 构建方法,在 https://gist.github.com/pboos/5802233#file-ndk-build-gradle 中进行了描述。 在 Gradle 中调用顺序似乎是:

  • 构建原生
  • 编译java代码
  • 运行proguard
  • 自定义修改任务

我应该怎么做才能让原生构建在 proguard 之后运行?

也就是说,我需要定义task,如果存在的话,会在proguard之后执行。

【问题讨论】:

  • AFAIK,您将始终需要NOT obfuscate java-native 方法,SDK 随附的示例 proguard 配置 keeps all java native 方法
  • 我知道,但是在项目中有 CUSTOM ant 任务混淆了 java-native 方法,我不能把它扔掉

标签: android gradle


【解决方案1】:

不确定我是否正确解释了您的问题,但听起来您只是在寻找依赖关系。

如果buildNative 只能customModifications 之后运行,则使用标准依赖项:

buildNative {
    dependsOn customModifications
}

如果buildNative 必须在customModifications 之后运行,但如果customModifications 被请求使用mustRunAfter

buildNative {
   mustRunAfter customModifications
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多