本文主要介绍带SDK的cordova插件的编写,如有疑问可以留言,互相学习。
带SDK的插件与不带其实差别并不大,但是网上的资料介绍的确各有不同,参照着写完发现还是不行,其实是因为cordova也在不停的更新,可能老的方法不适用了。
下面我会解释一个可以用的方法。
1.在AndroidManifest.xml文件中添加service和activty
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<service
android:name="com.tets.Service"
android:enabled="true"
android:exported="true" />
<activity
android:name="com.test.Activity2"
android:theme="@android:style/Theme.Translucent" />
<activity
android:name="com.test.Activity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</config-file>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</config-file>
2.添加用到的文件
如:java文件、.aar的包、用到的.xml文件或者图片
src:表示的是你得java文件放在cordova插件的目录下的那个位置
target-dir:表示的是你要把这个文件放在生成的android的那个包名下
最最最重要的是java文件的包名一定要和target-dir的包名一样,不然会报错。
比如 下面的这行代码cordova插件src下的android目录下有个test.java文件如果使用这个插件test.java文件就会出现在android工程的src/com/lmr/test的目录下。(.xml文件和图片是同样的方法)
<source-file src="src/android/test.java" target-dir="src/com/lmr/test"/>
最重要的添加.aar文件
需要在cordov的目录下创建一个.gradle文件,把你的.arr所需要的配置编写到这个文件中
<framework src="src/android/ScreenShare.gradle" custom="true" type="gradleReference" />
<source-file src="src/android/libs/LiteAVSDK_Professional_3.aar" target-dir="libs"/>
例如下面这样把arr文件的配置填到你说创建的.gradle文件中
android {
useLibrary 'org.apache.http.legacy'
}
allprojects {
repositories {
flatDir {
dirs 'libs'
}
}
}
dependencies {
compile(name: 'LiteAVSDK_Professional_3', ext: 'aar')
}
注意:
R文件获取不到需要自己另写方法获取。
如果要获取activity可以使用cordova.getActivity()