0

从“ Appcelerator Titanium Mobile 如何工作? ”这个问题中,我知道 JS 被交叉编译为本机代码。但这是在哪里发生的?我在开源 Titanium 代码中找不到任何代码。Appcelerator 的网站在该过程的交叉编译部分上也很少见。

4

2 回答 2

2

在 Windows/Android 上的 Titanium 1.4 中,查看 C:\ProgramData\Titanium\mobilesdk\win32\1.4.0\android\compiler.py 你会发现:

def compile_into_bytecode(self,paths):
    jar_path = os.path.join(self.template_dir,"js.jar")
    for package in paths:
        args = [self.java,"-cp",jar_path,"org.mozilla.javascript.tools.jsc.Main","-opt","9","-nosource","-package",package,"-d",self.classes_dir]
        count = 0
        for path in paths[package]:
            # skip any JS found inside HTML <script>
            if path in self.html_scripts: continue
            args.append(path)
            count+=1
            self.compiled_files.append(path)
        if count > 0: run.run(args)
于 2010-10-25T15:59:11.297 回答
0

我相信 Titanium Developer 在构建过程中会编译它。如果您查看 Project/build/android 或 Project/build/iphone 目录,您将看到代码输出。

在 Titanium Mobile 1.3 中,他们引入了 XCode 项目生成,因此您现在可以使用 XCode 打开项目。

于 2010-08-16T20:16:32.483 回答