本文主要介紹帶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()