【发布时间】: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 obfuscatejava-native 方法,SDK 随附的示例 proguard 配置keepsall java native 方法 -
我知道,但是在项目中有 CUSTOM ant 任务混淆了 java-native 方法,我不能把它扔掉