1

我正在尝试构建这个库项目 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?

4

1 回答 1

0

我刚刚下载了ARM版本,在导入xwalk_core_libraryeclipse时遇到了同样的错误。prepare_r_java.py我通过python在外部执行脚本并将生成的R.java文件导入到引用它的类中来修复它。

另外,环顾四周,我发现您提到的问题实际上是一个错误。在这里检查

Turning off 'Build Automatically' in eclipse fixes it.

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

为了让整个东西在没有唠叨的情况下编译和工作,这是我在导入xwalk_core_libraryEclipse 之前所做的。

  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. 从第 27 行编辑build.xml并删除以下行

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

现在将库导入 eclipse。:)

于 2014-04-09T18:27:43.933 回答