1、 按照官方的SDK集成一遍
SDK下载:http://ask.dcloud.net.cn/article/103
将官方SDK down下来打开项目后,拉取gradle失败,报错Error:Could not install Gradle distribution from 'https://services.gradle.org/distributions/
可以自己从官方地址:https://services.gradle.org/distributions/ 下载,配置本地资源地址
设置如下:
报错内容:Installation did not succeed.
The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER
2、uniapp项目引入原生项目中,配置相关参数
官方教程:https://ask.dcloud.net.cn/article/13232
https://ask.dcloud.net.cn/article/508
修改appid
(1)Project:app - src - main - assets - data - dcloud_control.xml
- <hbuilder>
- <apps>
- <app appid="__UNI__E9BF158" appver="2.4.8"/>
- </apps>
- </hbuilder>
(2)Project:app - build.gradle
搜 applicationId
- applicationId "io.dcloud.UNIE9BF158"
修改app包名
(3)Project:app - src - main - AndroidManifest.xml
- package="io.dcloud.UNIE9BF158"
修改app包名
(1) Android:app - manifests - AndroidManifest.xml
修改package:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.dcloud.UNIE9BF158">
(2) Project :app - src -main - assets - apps
新增文件夹__UNI__E9BF158,把hbx生成的app本地打包目录www拖进去
(3) Project :app - src -main - assets - data - xxxx_control.xml
修改appid和appver:<app appid="__UNI__E9BF158" appver="1.0.0"/>
Tips:其中appid值为HBuilder应用的appid,必须与应用manifest.json中的id值完全一致;appver为应用的版本号,用于应用资源的升级,必须保持与manifest.json中的version -> name值完全一致 |
(4) Project :app - build.gradle
修改:applicationId "io.dcloud.UNIE9BF158"
(5) Project :app - src - main - res - values - strings.xml
修改app_name:HBuilder-Hello 改为自己的app名称
3、原生插件引入原生项目中 / 创建新插件(如果使用自定义基座来调试android,只要插件包有变动,就必须重新打个自定义基座,插件才生效,有次数限制)
https://ask.dcloud.net.cn/article/35416
看一下第五步
Mac版Android Studio自动添加依赖,options + 回车
五、配置插件运用到uni-app中
setting.gradle 添加插件名称
include ':app', ':uniplugin_jpushim'
app -> build.gradle 添加
// 添加极光IM插件
implementation project(':uniplugin_jpushim')
开发中
可以先使用官方的alert插件来跑一下程序,比如加一个toast来测试方法是否执行:
- @JSMethod(uiThread = true)
- public void yp(){
- Toast.makeText(mWXSDKInstance.getContext(),"我是友好的弹出框", Toast.LENGTH_SHORT).show();
- }
打印日志,可以在android studio里打印日志,并在Logcat中查询日志
- System.out.println("jpush 执行init方法");
打包成aar
复制完整的类名:
新建插件开发目录:
1、点击Android Studio 菜单项 File--->New--->New Module,选择Android Library
2、配置:
Application / Library name: uniplugin_YYJPushIM
Package name:uni.dcloud.io.uniplugin_yyjpushim
算了,拿官方的richalert改吧!
1、修改包名
项目下 Project :app - build.gradle
- // 添加uni-app插件
- implementation project(':uniplugin_richalert')
- // 修改为:
- implementation project(':uniplugin_jpushim')
批量替换:把richalert换成jpushim
app - src - main - assets - dcloud_uniplugins.json:
修改nativePlugins :
- {
- "nativePlugins": [
- {
- "hooksClass": "uni.dcloud.io.uniplugin_jpushim.JPushIM_AppProxy",
- "plugins": [
- {
- "type": "module",
- "name": "YOYO-JPushIM",
- "class": "uni.dcloud.io.uniplugin_jpushim.JPushIMWXModule"
- }
- ]
- }
- ]
- }
将插件目录拷贝到项目根目录下,与app目录同级,将第三方依赖资源库复制到 app / libs目录下
uniplugin_richalert - src - main - res - values - string.xml:
- <resources>
- <string name="app_name">uniplugin_JPushIM</string>
- </resources>
Project :settings.gradle
- include ':app', ':uniplugin_jpushim'
添加依赖包:
app - build.gradle
- implementation 'cn.jiguang.sdk:jmessage:2.8.2' // 此处以JMessage 2.9.0 版本为例。
- implementation 'cn.jiguang.sdk:jcore:1.2.7' // 此处以JCore 2.0.0 版本为例。
添加完依赖后,需要同步一下:
右上角,点击:
这里注意点,导入第三方类库,两种方式,1、手动集成;2、自动集成;
1、手动导入SDK,注意是在工程的libs中,与插件的libs中都需要拷贝.jar包,然后再clean,即可。
2、自动集成:在工程的app - build.gradle添加以后,还要在插件的 build.gradle添加
- compileOnly 'cn.jiguang.sdk:jmessage:2.8.2' // 此处以JMessage 2.9.0 版本为例。
- compileOnly 'cn.jiguang.sdk:jcore:1.2.7' // 此处以JCore 2.0.0 版本为例。
常见问题:
1、报错:程序包com.taobao.weex.bridge不存在
Project:app / libs 缺少uniapp-release.aar