【问题标题】:Android Studio 3 - how to test release build with JNI? [closed]Android Studio 3 - 如何使用 JNI 测试发布版本? [关闭]
【发布时间】:2017-12-14 19:02:35
【问题描述】:

如何在 Android Studio 3 中构建和测试发布版本?我在我的应用程序中使用 JNI/NDK,所以我需要测试一切是否正确构建。

【问题讨论】:

  • 可能是 JNI 代码的 junit 测试调用。我不确定你在这里问什么。
  • @MorrisonChang 如何强制android studio构建可以在调试器中调试的发布版本
  • 发布版本是为了发布而不是为了调试。发布版本的全部意义在于应用 proguard 并删除任何不必要的文件/调试库以减小大小、提高速度并使逆向工程更加困难。这并不意味着您不能创建仅用于检查 JNI 功能等的虚拟/内部发布应用程序,并且基本上充当巨型单元/集成测试。您必须修改您的工作流程以确保它们都“通过”。

标签: android android-studio android-ndk


【解决方案1】:

没有任何自动化工具可以完全取代传统的 QA。看看俄罗斯太空发射器最近发生了什么。

关于带有原生组件的 Android 应用的具体情况,这里有一些问题需要记住,什么时候可以从调试切换到发布。

混淆(proguard)可以破坏 JNI。为了降低风险,我建议始终在原生代码中尽早解析 Java 类、字段和方法,并将所有 JNI 错误和异常写入日志。

visibility=hidden 的错误使用也会导致 JNI 失败,但这些错误通常很容易被发现。

您可以并且应该开始使用调试详细版本的原生库构建发布应用。

这与使用“发布”优化的原生二进制文件构建应用程序的调试版本以及早了解性能问题的做法并不矛盾 - 这两个混合应用程序版本用于完全不同的测试目的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 2013-10-11
    • 2015-12-28
    • 1970-01-01
    • 2015-05-15
    • 2016-10-11
    • 2013-07-12
    相关资源
    最近更新 更多