1

我已经尝试设置 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

请帮助我...在此先感谢。
甘尼什米

4

3 回答 3

2

我可以通过以下步骤在 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 一词。
于 2012-01-23T03:15:19.957 回答
2

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

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

一种)

  1. 首先,安装titanium后,Titanium Home SDK没有工作(错误:Could not locate a Titanium Mobile SDK at the given path)。解决此问题的方法是从内联链接文本下载“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) 从“附加”部分我已经安装了所有东西,尽管我已经阅读了“Google USB”和“

    PS 我已经在 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路径,否则它应该没关系。

二)

现在...

完成上述所有步骤后,在创建我的第一个 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 应用程序启动了,经过两天的头撞墙后,我终于非常高兴。

于 2012-04-21T11:14:41.830 回答
0

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

于 2012-08-04T00:15:54.347 回答