【问题标题】:Gradle release build - preserving method parameter namesGradle release build - 保留方法参数名称
【发布时间】:2016-05-27 08:21:52
【问题描述】:

我们正在创建一个带有内部接口类的 Android 库。我们面临的问题是release build aar文件中没有为接口类保留方法参数名称。尽管 .aar 文件可以正常工作,但在使用自动完成、实现方法等时会在编辑器中产生问题。请注意,proguard 已禁用。

public class Test {

       public interface TestInterface {
            void testCallback(int ordernumber, int vendorid);
       }

       public boolean init(Context context);
}

在调试版本中,类被很好地保留了。但是,在发布版本中,不保留接口方法的参数名称。有趣的是,它保留了类方法的参数名称。我使用反编译器验证了这一点。

public class Test {

       public interface TestInterface {
            void testCallback(int paramInt1, int paramInt2);
       }

       public boolean init(Context context);
}

我也尝试在没有任何帮助的情况下在 buildconfig 中设置可调试标志。

将不胜感激任何帮助。

【问题讨论】:

  • 我仍在寻找解决方案,请提供任何见解。
  • 你找到这个解决方案了吗?我也遇到过这个问题。
  • 我找到了解决方案。但似乎没有选项可以防止重命名接口方法上的参数。唯一可用的解决方案是生成 javadoc 或 androidSourcesJar 文件并使用 aar 文件发布
  • 我为接口方法添加了 javadoc,但没有帮助。我从 gradle 导入 lib (HybridMediaPlayer)。如何正确添加javadoc?

标签: java android gradle aar


【解决方案1】:

官方 oracle 文档声明接口不保留参数名称,因此唯一的解决方案是将文档包含在库中:Preserving parameter/argument names in compiled java classes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2021-06-30
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    相关资源
    最近更新 更多