6. Cordova多平台运行

前言

  • 引入jQuery

下午折腾了半天,还以为Cordova的jQuery是通过插件的方式搞的,结果还重置了好几次,5点多突然发现,尼玛,完全可以下载到本地直接调的。

  • cordova build会重置代码

这也是个坑,根据官方文档,cordova build是构建工程的,cordova run是运行工程的,而 cordova run可以直接合并前面两项的,但是有个问题,我在android中写好了代码,一旦通过命令行build或者run,尼玛,居然把老子的代码直接重置了???!!!研究再三,我发现了一个问题:我一直在android下写,而Cordova是全局运行的!

构建多平台插件

为何会重置

简单的说,就是我在AS中编写的是android项目,而运行命令是在root目录,但是root目录的www并没有被更新,所以新项目直接根据root目录的config.xml进行更新,把root的www更新到platforms下的平台,于是我已经在AS上写好的代码就被置空了...

从上面的就能看出,多平台最终还是要在root中分配到各个平台运行的,那自己写的插件怎么搞呢?这里可看一下之前已经下载好的,然后根据他的模板自己改改。

结构介绍

  • 文件 root 结构

这是一个file插件的结构,我们不写那么复杂的,官网上直说最重要的是plugin.xml,google出来的结果也都没有提到package.json,但是我这里提示需要一个有效的package.json,后来经过实践,是特么Cordova版本的问题,我用的7.0,但是官网并没有更新,所以没有参照,让一个朋友用5.4安装的是没问题的。


文件插件结构
  • src目录

我也没打算支持那么多平台,就暂时先创建个android的


src目录
  • 复制文件到对应的文件夹
    • java源文件到android(OC文件到ios)
    • js文件到www
    • 修改js文件,只保留方法函数,不需要定义
  • 创建配置文件

修改后的文件

//修改后的js文件
var exec = require("cordova/exec");
module.exports = {
    show: function(content){
        exec(
        function(message){//成功回调function
            console.log(message);
        },
        function(message){//失败回调function
            console.log(message);
        },
        "MyToast",//feature name
        "show",//action
        [content]//要传递的参数,json格式
        );
    },
    dialog: function(content){
        exec(
        function(message){
            console.log(message);
        },
        function(message){
            console.log(message);
        },
        "MyToast",
        "dialog",
        [content]
        );
    }
}

编写plugin.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- this id is cordova_plugins.js's id -->
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
    id="cordova-plugin-dialog" version="0.0.1">
    <name>ToastPlugin</name>
    <description>show toast and dialog</description>
    <!-- installed path : plugins/cordova-plugin-dialog/src -->
    <js-module name="ToastPlugin" src="www/ToastPlugin.js">
    <!-- assets/cordova_plugins.js's clobbers -->
        <clobbers target="dialog"/>
    </js-module>
    <!-- add platform -->
    <platform name="android">
        <config-file parent="/*" target="res/xml/config.xml">
        <!-- the feature will be copied to the config.xml-->
        <feature name="MyToast">
            <param name="android-package" value="com.jty.app.plugin.ToastPlugin"/>
        </feature>
        </config-file>
        <!-- src for the local file,target for the installed path -->
        <source-file src="src/android/ToastPlugin.java" target-dir="src/com/jty/app/plugin"/>
    </platform>
<!--     <platform name="ios">
        this is ios platforms,if you need other platforms,refer to this format please!
    </platform> -->
</plugin>

应用插件

在此之前,最好别尝试clean,build,run之类的,随便一个就让代码全清空了!!!接下来就按照添加API插件一样添加到项目中即可

cordova plugins add <插件包路径>

再提醒一下,不要升级7.0

  • 5.4版本


    安装成功
  • 升级7.0后


    升级后

好了,现在就可以正常使用了,修改好代码直接build也没问题了

项目地址

https://github.com/seeways/ToastPlugin

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容