使用Python在Eclipse中构建Android库项目时出错

1 投票
1 回答
714 浏览
提问于 2025-04-17 23:40

我正在尝试构建一个库项目,地址是 https://crosswalk-project.org

我希望在我的应用程序中实现 XWalkView,以便使用 WebRTC。

我按照以下步骤操作:

  1. 下载了稳定的 ARM 版本
  2. 解压了核心库的压缩包(默认是一个 Android 项目)
  3. 把这个项目导入到 Eclipse 中
  4. 有一个 Python 脚本叫做 "prepare_r_java.py",它负责创建项目所需的 R.java 文件,如果没有这个文件,库就无法编译。
  5. 当我尝试构建时,在 Eclipse 中出现了以下错误

    Errors occurred during the build.
    Errors running builder 'Integrated External Tool Builder' on project'xwalk_core_library'.
    Exception occurred executing command line.
    Cannot run program "C:\Users\abc\Desktop\crosswalk-3.32.53.4-x86\xwalk_core_library\prepare_r_java.py" 
    (in directory "C:\Users\abc\Desktop\crosswalk-3.32.53.4-x86\xwalk_core_library"): CreateProcess error=193, %1 is not a valid Win32 application
    Exception occurred executing command line.
    Cannot run program "C:\Users\abc\Desktop\crosswalk-3.32.53.4-x86\xwalk_core_library\prepare_r_java.py" 
    (in directory "C:\Users\abc\Desktop\crosswalk-3.32.53.4-x86\xwalk_core_library"): CreateProcess error=193, %1 is not a valid Win32 application
    

我已经安装了 Python、ANT 和 Java,并且 PATH 变量设置得很好,运行也没问题。

我漏掉了什么吗?有没有其他方法可以在 Android WebView 中实现 WebRTC(非原生代码)?

1 个回答

0

我刚刚下载了ARM版本,在把xwalk_core_library导入到Eclipse时遇到了同样的错误。为了修复这个问题,我通过Python外部运行了prepare_r_java.py脚本,然后在需要用到的地方导入生成的R.java文件。

另外,经过一番查找,我发现你提到的问题其实是个bug。你可以在这里查看

Turning off 'Build Automatically' in eclipse fixes it.

编辑:上面的方法在导出apk文件时仍然抛出了错误,因此导出过程失败了。

为了让整个项目编译并正常工作而不出现错误提示,我在将xwalk_core_library导入到Eclipse之前做了以下几步:

  1. 删除.externalToolBuilders文件夹。

  2. 编辑.project文件,删除第18行到27行的内容。

         <buildCommand>
            <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
            <triggers>auto,full,incremental,</triggers>
            <arguments>
                <dictionary>
                    <key>LaunchConfigHandle</key>
                    <value>&lt;project&gt;/.externalToolBuilders/prepare_r_java.launch</value>
                </dictionary>
            </arguments>
        </buildCommand>
    
  3. 编辑build.xml,删除第27行的内容。

       <import file="precompile.xml" />
    
  4. 删除precompile.xmlprepare_r_java.py

现在可以把这个库导入到Eclipse里了。:)

撰写回答