1、 按照官方的SDK集成一遍
将官方SDK down下来打开项目后,拉取gradle失败,报错Error:Could not install Gradle distribution from 'https://services.gradle.org/distributions/
设置如下:
报错内容:Installation did not succeed.
The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER
2、uniapp项目引入原生项目中,配置相关参数
修改appid
(1)Project:app - src - main - assets - data - dcloud_control.xml
Java Code复制内容到剪贴板
(2)Project:app - build.gradle
搜 applicationId
Java Code复制内容到剪贴板
applicationId"io.dcloud.UNIE9BF158"
修改app包名
(3)Project:app - src - main - AndroidManifest.xml
Java Code复制内容到剪贴板
package="io.dcloud.UNIE9BF158"
修改app包名
(1) Android:app - manifests - AndroidManifest.xml
修改package:
(2) Project :app - src -main - assets - apps
新增文件夹__UNI__E9BF158,把hbx生成的app本地打包目录www拖进去
(3) Project :app - src -main - assets - data - xxxx_control.xml
修改appid和appver:
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,只要插件包有变动,就必须重新打个自定义基座,插件才生效,有次数限制)
看一下第五步
Mac版Android Studio自动添加依赖,options + 回车
五、配置插件运用到uni-app中
开发中
可以先使用官方的alert插件来跑一下程序,比如加一个toast来测试方法是否执行:
C/C++ Code复制内容到剪贴板
@JSMethod(uiThread =true)
publicvoidyp(){
Toast.makeText(mWXSDKInstance.getContext(),"我是友好的弹出框", Toast.LENGTH_SHORT).show();
}
打印日志,可以在android studio里打印日志,并在Logcat中查询日志
C/C++ Code复制内容到剪贴板
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
Java Code复制内容到剪贴板
// 添加uni-app插件
implementation project(':uniplugin_richalert')
// 修改为:
implementation project(':uniplugin_jpushim')
批量替换:把richalert换成jpushim
app - src - main - assets - dcloud_uniplugins.json:
修改nativePlugins :
Java Code复制内容到剪贴板
{
"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:
Java Code复制内容到剪贴板
uniplugin_JPushIM
Project :settings.gradle
Java Code复制内容到剪贴板
include':app',':uniplugin_jpushim'
添加依赖包:
app - build.gradle
Java Code复制内容到剪贴板
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添加
Java Code复制内容到剪贴板
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