文档章节

Cordova 创建插件

kylinhuang
 kylinhuang
发布于 2017/01/16 11:22
字数 609
阅读 31
收藏 0

Cordova 创建插件

参考

插件添加 文件配置

1 安装plugman

执行安装命令,这个要在安装了nodeJS,cordova后才有用。

npm install -g plugman

2 创建插件

plugman create --name SLLivePlugin --plugin_id com.sengled.plugin.live --plugin_version 0.0.1

3 添加平台

plugman platform add --platform_name <platform>

cd SLLivePlugin/
plugman platform add --platform_name android

4 定义插件 ---

5 测试插件

5.1 主项目中 添加插件

cordova plugin add <path 插件路径>

5.2 主项目中 使用  

js 中使用

Ts 中使用

var device = cordova.require('cordova-plugin-device.device'); 

配置 插件

activity

<platform name="android">
    <config-file target="AndroidManifest.xml" parent="/manifest/application">
        <activity android:name="mobile_app" android:launchMode="singleInstance" />
    </config-file>
</platform>   

<config-file target="AndroidManifest.xml" parent="/manifest/application">

  <activity android:name="com.foo.Foo" android:label="@string/app_name">
      <intent-filter>
      </intent-filter>
  </activity>
</config-file>

activity XML

<source-file src="path/to/your/layout/file.xml" target-dir="res/layout"/>




Application app=cordova.getActivity().getApplication();
  String package_name = app.getPackageName();
  Resources resources = app.getResources();
  int ic = resources.getIdentifier("acticity_live_layout", "layout", package_name);

插件使用注意

1 主项目缓存 当添加插件 修改的代码并没有 添加 先删除在添加

ionic plugin rm com.sengled.slliveplayer  

ionic plugin add /Users/kylinhuang/svn/Sengledlife/05-项目代码/正式代码/Plugins/SLLivePlayerPlugin

ionic run android

2 主项目缓存

ionic platform rm android  
platform/android 目录删除



ionic platform add android  
platform/android 添加目录

修改 platform/android 下文件

ionic build android
platform/android 下文件 修改的文件未覆盖,还是修改后的。




<platform name="android">
    <config-file target="res/xml/config.xml" parent="/*">
        <feature name="Pebble">
            <param name="android-package" value="com.jetboystudio.pebble.PebblePGPlugin"/>
        </feature>
    </config-file>
    <source-file src="src/android/PebblePGPlugin.java" target-dir="src/com/jetboystudio/pebble" />
    <source-file src="src/android/libs/pebble_kit.jar" target-dir="libs" />
</platform>

添加文件 java

<!--SLLivePlayerPlugin.java-->

<source-file src="src/android/src/com/sengled/slliveplayer/SLLivePlayerPlugin.java"
                 target-dir="src/com/sengled/slliveplayer/SLLivePlayerPlugin"/>
<!--SLLiveActivity.java-->
<source-file src="src/android/src/com/sengled/slliveplayer/SLLiveActivity.java"
                 target-dir="src/com/sengled/slliveplayer/SLLiveActivity"/>
<!--VideoPlay.java-->
<source-file src="src/android/src/com/sengled/slliveplayer/manager/VideoPlay.java"
             target-dir="src/com/sengled/slliveplayer/manager"/>

添加 activity

<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity android:name="com.foo.Foo" android:label="@string/app_name">
    <intent-filter>
    </intent-filter>
</activity>
</config-file>

添加 layout

<!--acticity_live_layout.xml-->
<source-file src="src/android/res/layout/acticity_live_layout.xml" target-dir="res/layout"/>

添加 图片

<!-- drawable-xhdpi -->

<source-file src="src/android/res/drawable-xhdpi/icon_back.png" target-dir="res/drawable-xhdpi"/>
<source-file src="src/android/res/drawable-xhdpi/icon_control_point.png" target-dir="res/drawable-xhdpi"/>
<source-file src="src/android/res/drawable-xhdpi/icon_light_0.png" target-dir="res/drawable-xhdpi"/>
<source-file src="src/android/res/drawable-xhdpi/icon_light_100.png" target-dir="res/drawable-xhdpi"/>
<source-file src="src/android/res/drawable-xhdpi/icon_live.png" target-dir="res/drawable-xhdpi"/>
<source-file src="src/android/res/drawable-xhdpi/icon_setting.png" target-dir="res/drawable-xhdpi"/>
<source-file src="src/android/res/drawable-xhdpi/icon_signal.png" target-dir="res/drawable-xhdpi"/>

<!-- drawable -->
<source-file src="src/android/res/drawable/po_seekbar.png" target-dir="res/drawable"/>
<source-file src="src/android/res/drawable/thumb_bar.png" target-dir="res/drawable"/>

添加jar

<source-file src="src/android/libs/pebble_kit.jar" target-dir="libs" />

添加so文件

<source-file src="src/android/libs/armeabi/libavcodec-56.so"

注意

SLLivePlayerPlugin中 导包

import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CallbackContext;

ts 中添加 调用插件 使用

1 导入 // SLLivePlayerPlugin declare var SLLivePlayerPlugin:any;

2 调用

SLLivePlayerPlugin.startLive("LivingRoom", "beijing", 50, "rtsps://101.68.222.221:1554/27B529C1DDBE30E984991CE96472BA99.sdp", function (successMessage) {
  console.log(successMessage);
  }, function (errorMessage) {
    console.log(errorMessage);
  });

testPlugin.java 放在jar中 不行

© 著作权归作者所有

kylinhuang
粉丝 4
博文 31
码字总数 23836
作品 0
九江
高级程序员
私信 提问
cordova 常用命令、插件

安装 cordova: npm install -g cordova 创建应用程序 cordova create hello com.example.hello HelloWorld 添加平台 cordova platform add android cordova platform add ios 完成后运行以下......

Jack088
2015/03/24
0
2
Cordova 和 Ionic 的区别

Cordova Apache Cordova是一个开源的移动开发框架。允许你用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发。 应用在每个平台的具体执行被封装了起来,并依靠符合标准的API绑定去访问每个...

华山猛男
2018/11/07
0
0
html5转义为相应移动端app-Apache cordova+NodeJS环境配置

1.必要环境 1.1 Java的JDK安装配置 设置环境变量: 在环境变量的系统变量设置 JAVAHOME:C:Program FilesJavajdk1.8.005; 再在设置系统变量 Classpath:.;%JAVAHOME%libdt.jar;%JAVAHOME%l...

w-rain
2015/03/31
0
0
Cordova 3.x 基础(1) -- 环境搭建(Windows / Android)

Cordova 3.x 基础(1) -- 环境搭建(Windows / Android) Mobile App分为三大类:Native App,Hybrid App,Web App。其中Hybrid App介于Native App和Web App之间,它能兼顾Native App的良好用...

youxizhe
2014/09/29
0
0
Apache Cordova开发环境搭建(二)VS Code

原文:Apache Cordova开发环境搭建(二)VS Code 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011127019/article/details/56335719 Apache Cordova开发环境...

杰克.陈
2018/10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Disable Autostart of MySQL Server on Ubuntu

OSC Markdown Editer 真香,笔记一篇,懒得转中文,如有表述问题,请不吝指出,先谢为敬! OS: Ubuntu 19.04 When the MySQL server is installed, it automatically started with the OS. I...

Iridium
12分钟前
0
0
OpenStack RDO + S3

Packstack(RDO) installation "sync db timeout" issue version: openstack-packstack-13.0.0-0.1.0rc1.el7.noarchopenstack-packstack-puppet-13.0.0-0.1.0rc1.el7.noarch add timeout =>......

Firxiao
15分钟前
0
0
java运算符的优先级

https://www.cnblogs.com/zjfjava/p/5996666.html

南桥北木
20分钟前
0
0
线性代数的静态观-向量空间(一)

向量是一个具有大小和方向的量,因此只要大小与方向相同则向量也相同,从而向量可以自由平行移动。 向量与点不同,它反映的是从A到B的位移(既包含位移的方向又包含位移的大小),而点仅仅是...

FAT_mt
21分钟前
0
0
Redis缓存穿透、缓存雪崩和缓存击穿

Redis缓存穿透、缓存雪崩 缓存雪崩,是指在某一个时间段,缓存集中过期失效。 产生雪崩的原因之一,比如在写本文的时候,马上就要到双十二零点,很快就会迎来一波抢购,这波商品时间比较集中...

architect刘源源
42分钟前
10
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部