1、配置文件表頭包括了插件id,是用於唯一標識插件的。同時插件配置了一個插件名稱。
2、這個文件從工作機制,也就是js代碼一直到native的java插件代碼工作分成兩個流程。第一個流程是從代碼到插件中的js接口文件,第二步是從js接口文件到java插件代碼。
2、首先是第一步,自己寫的js代碼通過一個require函數來require("plugin-id.js-module-name")來獲取到插件js接口,其中第一個參數是插件id,第二個參數是配置文件中js-module標簽的name屬性。
3、調用到這個js之后,這個js文件中內容如下:
var exec = require('cordova/exec');
exports.toast = function(arg0) {
exec(null, null, "KKKKUtil", "toast", [arg0]);
};
這個文件直接使用了cordova中用來調用native接口的exec函數,通過五個參數中的第二個和第三個唯一定位native代碼。其中第二個參數是plugin.xml中的platform android標簽中的feature name,這個name下面的param中的value標識了實際提供服務的Native類別名稱,這里直接定位至具體類。如下所示:
<platform name="android">
<config-file parent="/*" target="res/xml/config.xml">
<feature name="KKKKUtil">
<param name="android-package" value="com.hello.intel.plugin.KKKKUtil" />
</feature>
</config-file>
這個類的文件是通過添加插件時,plugin中的sourcefile標簽去拷貝到對應的java源代碼路徑下的,如下所示:
<source-file src="src/android/KKKKUtil.java" target-dir="src/com/hello/intel/plugin" />
