【问题标题】:Debugging Codename One app on Android Studio在 Android Studio 上调试 Codename One 应用
【发布时间】:2016-11-21 07:58:20
【问题描述】:

我需要在 Android 上调试我的 CN1 应用程序。这就是我成功遵循this Codename One tutorial 中给出的说明的原因(我按照说明复制并更新了 gradle 文件依赖项内容)。

我现在对更新的源部分有点困惑。

视频中有一部分我们没有涉及,直接复制更新的源而不发送构建。如果您打开新的 Android Java 8 支持,这是可能的。此时您应该可以删除包含编译数据的 libs jar 文件,并将源代码直接放入本机项目中,以便在设备上进行调试。

如果我更改了本机实现文件中的内容并且启动了调试过程,它似乎可以工作。但是我必须从 libs 目录中删除 userClasses.jar 文件吗?这个jar文件是什么时候真正调用的?

此外,我还可以从 Android Studio 更改 CN1 代码(例如更改主类)还是需要在服务器上进行适当的构建过程?

2016 年 11 月 22 日更新

根据我的经验,您第一次想在 Android 中调试应用时,您需要复制粘贴源文件和 userClasses.jar(在 libs 文件夹中)。当您仅更新本机实现文件时,您可以在不发送构建的情况下运行调试。但是,如果您更改 CN1 代码中的某些内容,只要您不更新 userClasses.jar,它就不会反映在 Android 中(这似乎是合乎逻辑的,因为 Android 对 CN1 一无所知)。

感谢任何信息,

干杯,

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    构建服务器无法访问您的代码,只能访问带有字节码/数据文件的 jar,而用户 jar“几乎”是那个 jar。

    我们运行一些字节码处理,例如 retrolambda 和其他东西,因此它与您在构建项目时编译的不完全一样。

    如果您将源目录复制并粘贴到项目中,则需要删除该 jar,这样您就不会看到重复的类。您还需要启用 Android Studios Java 8 语言支持才能使其正常工作。

    【讨论】:

    • 我已在 gradle 文件中启用了 Android Studios Java 8 支持,如 Google 所示。所以现在我不用再复制用户jar了,我可以直接在Android Studio中直接在原生实现中工作,对吧?
    • 好吧,我使用的 2 个 IDE 似乎有点搞砸了。当然,如果我在 Netbeans 中更改 CN1 主类,它不会反映在 Android Studio IDE 中(哪个项目不在同一个文件夹中)。傻我!
    猜你喜欢
    • 1970-01-01
    • 2018-03-29
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 2017-09-24
    • 1970-01-01
    相关资源
    最近更新 更多