【问题标题】:How do I run an Android app I've written in Red?如何运行我用 Red 编写的 Android 应用程序?
【发布时间】:2014-06-23 07:58:30
【问题描述】:

当我在 Windows CMD 中输入时...

red -c -t Android hello.red

...Red 输出一个名为 hello 的文件,没有文件扩展名。如果我将此文件传输到我的 Android 设备,它不知道如何处理它。

在我的 Android 设备上测试我的 Red 代码必须遵循哪些额外步骤? 根据我的代码是否会尝试使用 Android 桥接器,我必须采取哪些不同的步骤(如果有)?

【问题讨论】:

    标签: android red


    【解决方案1】:

    Android 移植是在android 分支中完成的一项工作。在该分支中,使用:

    red -t Android <script.red>
    

    将为新的打包层使用 APK 后端,它将为您处理 APK 生成的整个过程(前提是您预装了 JDK1.6+)。如果一切顺利,您将在工作文件夹中获得一个 APK。

    如果您需要调试构建过程,您需要编辑system/formats/APK.r 文件并在第11 行将verbose 字设置为yes。

    注意:我们正在努力一一删除所有外部依赖项。

    编辑:Android Red 端口已移至私有分支并积极开发。一旦达到测试阶段,它将被公开。

    【讨论】:

      【解决方案2】:

      除非您将可执行文件打包成 .APK,否则出于安全原因,Android 会在您使用 chmod +x 并运行它的路径中设置一些障碍。

      我关注了these directions,只是:

      $ cd /data/data/jackpal.androidterm/shared_prefs
      
      $ cat /sdcard/Download/hello.bin > hello
      
      $ chmod 755 ./hello
      
      $ ./hello
      

      如果没有 root 或其他方式,您最终会遇到奇怪的情况,例如使用 cat 而不是 cp,并将文件滑入允许执行的奇怪目录。

      在 Nexus 5 上测试。

      【讨论】:

      • 到了一半。这适用于%tests/hello.red,但不适用于桥接示例:%bridges/android/samples/eval/eval.red %bridges/java/hello.red 对我来说,提示只是返回到下一行,在./eval./hello 之后没有任何错误或操作。当打算使用桥接器时,是否需要将可执行文件打包成 .APK 呢?我还需要做什么才能使用这座桥?
      • Java 桥接示例旨在使用支持 JNI 的普通 JVM 运行。如何运行它的说明包含在accompanying README 中。 Android 桥接示例只是概念验证,确实需要打包成 .APK。为此,您可以从 Rebol 2 运行 build.r,或者下载链接到 the blog post announcing the Android proof-of-concept 的预构建 .APK。
      【解决方案3】:

      我还没有尝试过,但是请检查一下:http://www.red-lang.org/2011/12/arm-support-released.html 您也可能知道,这里有一个实验性的 Android 版本:https://github.com/red/red/tree/android

      【讨论】:

      • 请注意,Red 仍处于 alpha 状态,所以不要期望太多;-)
      【解决方案4】:

      问题似乎已经得到解答,但对于那些想要了解更多的人,在 2014 年 3 月的 ODROID 杂志http://magazine.odroid.com 上有一篇关于 Red for Linux 和 Android 入门的文章。

      Gregory Pecheret 在 2014 年 7 月版(将在接下来的几天内发布)中还将包含一篇简短的操作指南文章,该文章将演示如何在 Red 中从头开始构建 .apk。

      【讨论】:

        猜你喜欢
        • 2022-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-26
        相关资源
        最近更新 更多