使用manifest文件
这个页面叙述了在部署Crosswalk应用的时候如何使用manifest.json文件。
manifest可以通过以下"方式"使用:
配置Android打包
Crosswalk manifest文件可以被用来作为一个应用生成Android包的基础。详情参见入门指导。
然而,上述教程只使用了一个基本版的manifest,并没有详细地解释某些manifest字段如何影响Android打包过程。下面的链接提供了关于这些的额外信息:
图标: 在Android打包过程中的作用permissions: 在Android打包过程中的应用 注意,在嵌入式Crosswalk中,上述俩个字段在manifest中不会生效。
加载应用到嵌入模式Crosswalk
嵌入式API 使得你可以将Crosswalk运行时环境嵌入到一个Android应用中。嵌入模式Crosswalk指南解释了如何使用embedding API加载一个应用的主HTML文件到嵌入式Crosswalk。
然而,embedding API也提供了另外一个选择:从manifest文件加载应用。比起通过URL加载应用,从manifest文件加载应用的优点是更加灵活。
例如,如果你决定修改应用的入口点(例如,将index.html改名成home.html),你可以在manifest中修改,而不用去修改任何Java代码。同样,如果新字段对于Crosswalk manifest变得可用,你可以在自己的manifest文件中利用这些字段的优势,而不用去修改任何Java代码。
为了展示该方法如何工作,可以很容易地遵循嵌入模式API的应用开发指南使用manifest。按照上述指南做完所有步骤,然后按如下内容修改项目:
添加一个
manifest.json文件到应用的web根目录(对于教程中使用embedding API的应用,根目录便是assets/目录):{ "name": "XWalkEmbed", "xwalk_version": "0.0.1", "start_url": "index.html" }修改
org.crosswalkproject.xwalkembed.MainActivity类(在src/下),它使用loadAppFromManifest()方法而不是load()方法:package org.crosswalkproject.xwalkembed; import org.xwalk.core.XWalkView; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { private XWalkView mXWalkView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mXWalkView = (XWalkView) findViewById(R.id.activity_main); // replace this line: //mXWalkView.load("file:///android_asset/index.html", null); // with this: mXWalkView.loadAppFromManifest("file:///android_asset/manifest.json", null); } }
当你运行应用时,manifest.json中start_url属性所规定的HTML文件将会被加载。它跟之前被加载的index.html文件相同;但是修改应用时,使用manifest会更加容易,而不用修改Java代码。
注意,在嵌入式crosswalk模式中,manifest.json中某些被用于打包android应用的字段不会奏效。关于这些字段详见this section。
中文版
