我从 appcelerator 安装了 Titanium 并构建了“KitchenSink”示例应用程序。
一切正常,我只是想知道 javascript 代码在构建应用程序中的位置。
我对 Xcode 项目和我在 中找到的结果应用程序进行了 grep-ed Library/Application Support/iPhone Simulator/....KitchenSink.app
,但我无法从.js
文件中找到任何函数名称,甚至找不到应用程序中使用的字符串文本。
我找到的最近信息是这里的答案:Appcelerator Titanium Mobile 如何工作?但我不清楚这个过程是如何工作的。
javascript 代码是被编译成二进制代码(然后使用什么编译器?),还是只是转换为某种特殊的数据格式并在运行的应用程序中解释?
更新:
这是我在 KitchenSink 的 build/android 目录中看到的:
michal:bin mac$ find . -name table_view_layout\*
./assets/Resources/examples/table_view_layout.js
./assets/Resources/examples/table_view_layout_2.js
./assets/Resources/examples/table_view_layout_3.js
./assets/Resources/examples/table_view_layout_4.js
./assets/Resources/examples/table_view_layout_5.js
./classes/org/appcelerator/generated/examples/table_view_layout.class
./classes/org/appcelerator/generated/examples/table_view_layout_2.class
./classes/org/appcelerator/generated/examples/table_view_layout_3.class
./classes/org/appcelerator/generated/examples/table_view_layout_4.class
./classes/org/appcelerator/generated/examples/table_view_layout_5.class
michal:bin mac$ unzip -t app.apk | grep table_view_layout
testing: assets/Resources/examples/table_view_layout.js OK
testing: assets/Resources/examples/table_view_layout_2.js OK
testing: assets/Resources/examples/table_view_layout_3.js OK
testing: assets/Resources/examples/table_view_layout_4.js OK
testing: assets/Resources/examples/table_view_layout_5.js OK
我之前没有查看 app.apk,我只能看到这些类文件对应于每个 javascript 文件。因此,我假设在 Android 上正在为 JVM 编译 javascript。为什么在 app.apk 中找不到这些?