我正致力于使用Google Glass
研究应用开发的内容。人们非常清楚,在Native环境中 - 应用程序开发是直截了当的。 (使用GDK - 玻璃开发套件)
使用Cordova
进行开发,有用于Glass的cordova插件并托管在Github
上 - 请查看此处的链接 -
嗯,我现在理解的是,可以使用Node JS命令行将这些插件添加到我的应用程序中。限制很少,我无法在我的环境中安装Node JS。有没有办法在不使用Node的情况下将这些插件添加到我的应用程序?我的Cordova
版本是2.7.0。
如何手动添加.java文件?我应该在哪里添加它们?
答案 0 :(得分:1)
是的 - 它非常繁琐,但你可以做到。
要遵循的步骤是:
git clone https://github.com/aphex/cordova-glass-core.git
Plugman(它是Cordova插件处理程序)询问plugin.xml
以自动执行将config.xml / AndroidManifest.xml设置和文件复制并粘贴到正确位置的过程,无需人工干预 - 因此没有理由它无法手动完成。它只是有点繁琐。
解码plugin.xml文件如下(使用:http://cordova.apache.org/docs/en/3.3.0/plugin_ref_spec.md.html#Plugin%20Specification作为参考):
<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
id="com.rossgerbasi.cordova.glass.core"
version="0.0.2">
<name>GlassCore</name>
<keywords>cordova,google glass,glass,android</keywords>
<description>
Plugin to add Google Glass Support to your Cordova Application. Additional JS plugin allows developer to get voice prompt speech to text results.
</description>
<license>MIT</license>
<author>Ross Gerbasi</author>
<engines>
<engine name="cordova" version=">=3.0"/>
</engines>
<js-module src="www/cordova-glass-core.js" name="GlassCore">
<clobbers target="com.rossgerbasi.cordova.glass.core"/>
</js-module>
<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="/widget">
<preference name="fullscreen" value="true"/>
<feature name="GlassCore">
<param name="android-package" value="com.rossgerbasi.cordova.glass.GlassCorePlugin"/>
<param name="onload" value="true"/>
</feature>
</config-file>
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity
android:name="com.rossgerbasi.cordova.glass.GoogleGlassActivity"
android:finishOnTaskLaunch="true"
android:launchMode="singleInstance"
android:noHistory="true"
android:theme="@style/GlassTheme">
<intent-filter>
<action android:name="com.google.android.glass.action.VOICE_TRIGGER"/>
</intent-filter>
<meta-data
android:name="com.google.android.glass.VoiceTrigger"
android:resource="@xml/app_launch_voice_trigger"/>
</activity>
</config-file>
<config-file target="AndroidManifest.xml" parent="/manifest">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-library android:name="com.google.android.glass" android:required="true"/>
</config-file>
<source-file
src="res/xml/app_launch_voice_trigger.xml" target-dir="res/xml"/>
<source-file
src="res/values/styles.xml" target-dir="res/values"/>
<source-file
src="res/values/glass.xml" target-dir="res/values"/>
<source-file src="src/com/rossgerbasi/cordova/glass/GoogleGlassActivity.java"
target-dir="src/com/rossgerbasi/cordova/glass"/>
<source-file src="src/com/rossgerbasi/cordova/glass/GlassCorePlugin.java"
target-dir="src/com/rossgerbasi/cordova/glass"/>
</platform>
</plugin>
主要标签是plugin
- 这很好。 name
,keywords
,description
等只是plugins.cordova.io使用的元数据,如果您在那里托管它(我个人不会跳过这些)。
engines
详细说明了该插件的最低cordova要求。这告诉我们至少Cordova 3.x但是它应该没问题。
js-module
在com.rossgerbasi.cordova.glass.core.GlassCore下设置自动JavaScript引用 - 然后您可以在JavaScript中访问它。
platform name="android"
是Cordova用于为Android环境设置插件的plugin.xml
的一部分 - 在Cordova 3.x中,您将平台添加到一个集中式项目中,因此需要如果Android平台“已安装”(即添加到您的Cordova 3.x项目中),CLI将知道该怎么做。在您的实例中,您使用的是Cordova 2.x for Android - 所以这仍然适用于我们。注:当您转移到Cordova 3.x时,您可以使用此标记定义所有平台,例如platform name="ios"
来处理iOS Xcode设置。
侧面看platform
标记:
config-file
用于包含要粘贴到config.xml中的文本 - 因为config.xml包含JavaScript和本机代码之间的映射,所以必须匹配。我可以单独写一个关于这个标签的完整段落,但我建议你看一下其他的插件来了解它们是如何工作的。 target
属性告诉CLI要将其复制到哪个文件 - 它指向Android的config.xml文件所在的res/xml/config.xml
- 所以打开它并研究它以理解它。您可以将标记(preference
和feature
从plugin.xml复制到此处。)
还有第二个config-file
,这次指向AndroidManifest.xml,其中target
是AndroidManifest.xml(即Eclipse项目根目录中的那个)。您还会看到有一个/manifest/application
标记指向AndroidManifest.xml中的树结构 - 因此您会在其中找到manifest
标记和application
标记 - 您可以复制所有activity
标记都放在这里。
有一个第三个 config-file
标记 - 它的parent
属性为"/manifest"
,因此,您可以想象,此处包含的文字将会显示在AndroidManifest.xml的manifest
标记中 - 并驻留在此处。第三个config-file
标记详细说明了类包需要从Android系统获得的权限,以便执行。
接下来有五个source-file
标签。 src
告诉您在哪里可以找到相对于plugin.xml
的本地目录中的源文件,因此您可以在res / xml /中找到app_launch_voice_trigger.xml
的第一个实例,它应该是粘贴到Eclipse项目目录中的/ res / xml /(即项目的project.xml
文件来自上面的config-file
标记)。
然后是两个详细说明包结构的Java文件。在src中,应该有一个com/
文件夹,在rossgerbasi/
文件夹中,然后是cordova
,然后是glass
,GlassCorePlugin.java将驻留在此处。
一旦你添加了所有这些,然后打开Eclipse(如果它还没有打开),右键单击你的项目并“刷新”然后去!您应该希望能够与插件进行交互。