【问题标题】:Java Path Error in TitaniumTitanium 中的 Java 路径错误
【发布时间】:2011-11-06 15:49:44
【问题描述】:

我已经尝试设置 Titanium 和 Android 3 天了。我仍然遇到一个问题。我收到了这个与 Java 相关的错误。我已经看到有关此错误的讨论和论坛。我跟踪了他们所有的试验。我仍然无法使其工作。通过命令提示符测试,我可以说路径适合 Java。即使JAVA_HOME 变量显示正确的路径。

我已经通过将JAVA_HOME 值设置为:

C:\PROGRA~1\Java\jdk1.7.0  

并将PATH 值设置为

C:\PROGRA~1\Java\jdk1.7.0\bin

我可以使用命令提示符运行和编译示例文件Hello.java,但我仍然在 Titanium IDE 中收到此错误:

[ERROR] Required jarsigner not found<br>
[ERROR] Required javac not found<br>
[ERROR] Required java not found<br>
[ERROR] One or more required files not found - please check your JAVA_HOME environment variable

请帮帮我... 提前致谢。
甘尼什 M

【问题讨论】:

    标签: java android jakarta-ee titanium titanium-mobile


    【解决方案1】:

    我能够通过以下步骤在 Window 7 上解决此问题:

    1. 左键单击“计算机”图标,然后单击“属性”。
    2. 应出现左侧菜单“控制面板主页”的窗口,我们将单击“高级系统设置”。
    3. 之后会出现一个弹出窗口,然后我们点击“环境变量”按钮。
    4. 出现另一个窗口,它是用于环境变量的,在它的出现部分,有一个系统变量列表。让我们添加变量或更新我们的“路径”变量(如果它已经存在)。
    5. 单击“新建”以使用您的 java 路径 ej 创建一个变量 JAVA_HOME。 C:\Java\jdk1.6.0_20
    6. 编辑您的 PATH 变量并在开头添加 %JAVA_HOME%;没有“bin”,因为在 builder.py 中添加了 bin 这个词。

    【讨论】:

      【解决方案2】:

      好吧,对于那些即使在尝试了您所阅读的所有内容之后也无法成功的人。 我正在运行 Win7 x64。

      这是我遵循的确切步骤(加上我发现的其他内容 - 步骤 B):

      一)

      1. 首先,安装钛后,Titanium Home SDK 不起作用(错误:在给定路径中找不到 Titanium Mobile SDK)。解决此问题的方法是从 inline link text 下载“Titanium Mobile SDK 1.7”,并使用该存档中的文件夹覆盖 [C:\Users\YourUserName\AppData\Roaming\Titanium] 中的所有内容(如果您愿意,可以先备份- 我还是这样做了,以防万一),但这对我有用...... Titanium Home SDK 的错误消失了。
      2. 关于 Java SDK:我已经下载了 1.6.x_xx 版本(在我的案例中是 64 位版本)-不知道它是否也适用于最新版本,但经过 2 天的试用后,我有点没有心情进行任何形式的其他卸载/安装:)。并且不用担心安装在哪里,只是不要在环境变量路径/JAVA_HOME 中使用用户空间。
      3. 获取了 android sdk 的 zip 版本(也许它也可以与安装程序一起使用,我刚刚获取了 zip,因为我读过安装程序可能存在问题 - 但我认为这些问题只是因为Java 的不正确的环境变量路径)。无论如何,zip或安装程序,为了使下一步工作(为了让钛重新识别android sdk),您需要下载/安装这些包(在android sdk的SDK Manager.exe中):a)“工具”部分; b) Android 2.1 和 Android 2.2 (api 7 & 8) - 也许其中只有一个是强制性的,但在花了这么多时间让一切正常工作之后,我没有耐心去检查哪一个; c)从“附加”部分我已经安装了所有东西,尽管我已经读过“谷歌 USB”和“Android 支持”就足够了。 d) 安装您想要的所有其他软件包(您不必仅为 2.1 或 2.2 开发,只是必须安装它们才能让钛认识 sdk - 如果您问我,这是一个错误)。

        附:我已经在 C:\android-sdk 中安装了 android sdk - 一个没有空格的路径(即 Program Files (x86))

      4. 在 Titanium studio 偏好设置中,我已将 Android SDK Home 设置为 C:\andoird-sdk

      5. 设置环境变量:右键单击“我的电脑”,然后单击“属性”。在新窗口中,单击左侧的“高级系统设置”。在新窗口中,确保您位于“高级”选项卡中,您应该会在底部看到一个标有“环境变量”的按钮。单击它,在新窗口中有 2 个列表(用户变量和系统变量)。您需要使用系统变量,因为在 builder.py 中它检查系统变量,而不是用户。因此,在系统变量中单击“新建”并为“变量名称”放置 JAVA_HOME,至于“变量值”放置您的 Java SDK 安装文件夹的路径(没有 bin ata 结尾)并确保它没有空格,确保它是旧的 DOS 模式。我的是 C:\Progra~1\Java\jdk1.6.0_31。单击确定,现在在同一个列表(系统变量)中查找变量“路径”并通过添加 %JAVA_HOME% 进行编辑;在开头(确保你不会错过分号)。你应该在一开始就拥有它,以防该字符串中有另一个/不同的 java 路径,否则没关系。

      B)

      现在...

      按照上述所有步骤,创建我的第一个 android 应用程序后,当我尝试运行它时,出现以下错误:

      • 找不到所需的 jarsigner/javac/java
      • 找不到一个或多个所需文件 - 请检查您的 JAVA_HOME 环境变量

      所以...从 Titanium SDK(我的位于 C:\Users\ MyUserName \AppData\Roaming\Titanium)我打开了 mobilesdk\win32\2.0.1.GA2\android\builder.py 并转到 def set_java_commands(self) 块(我的从第 268 行开始)。

      我已经用 home_jarsigner 替换了其中一个错误中的字符串值(“找不到所需的 jarsigner”),所以现在在钛控制台中,当尝试运行应用程序时,我得到:C:\Progra~1\Java \jdk1.6.0_31\bin\bin 所以我注意到 os.path.join 函数将 bin TWICE 添加到路径中......如果我知道为什么!

      为了解决这个问题,我通过从路径连接中删除“bin”来更改以下行:

      ~~~
      line 274: home_jarsigner = os.path.join(os.environ["JAVA_HOME"], "bin", "jarsigner.exe")
      line 275: home_javac = os.path.join(os.environ["JAVA_HOME"], "bin", "javac.exe")
      line 276: home_java = os.path.join(os.environ["JAVA_HOME"], "bin", "java.exe")
      ~~~
      

      刚刚从这些行中删除了“bin”,然后一切都很好,我的 Android 应用程序启动了,经过两天的头撞墙后,我终于很开心了。

      【讨论】:

        【解决方案3】:

        64 位 Windows 上的 Titanium 需要 32 位版本的 Java SDK。确保在 JAVA_HOME 环境变量中设置了 32 位路径。

        【讨论】:

          猜你喜欢
          • 2015-03-23
          • 2020-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-20
          • 2015-06-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多