安卓原生插件开发+打包aar插件+uniapp原生插件打包 |
您所在的位置:网站首页 › uniapp使用第三方支付sdk › 安卓原生插件开发+打包aar插件+uniapp原生插件打包 |
原生插件开发官方链接: 开发者须知 | uni小程序SDK 注意点: 1. 第三方sdk初始化如图所示也可以在TestModule中开发initSdk方法,uniapp调用时自行初始化 2. aar插件实际应用时,经历了三个报错 (1) java.lang.reflect.InvocationTargetException这个报错是因为打包没有暴露出该方法或者TestModule没有定义该方法,也可能是sdk初始化未完成,导致sdk中的某些类没有加载 (2) java.lang.NoClassDefFoundError 这个报错是因为打包时没有将第三方sdk的依赖打进aar包,打开aar包会发现少了libs目录或者少了相关依赖jar/aar包 (3) checkReleaseDuplicateClasses 这个报错原因是打包的aar插件依赖和项目本身其他的插件依赖有重复,需要根据报错信息,挨个排除依赖,如图所示,我的依赖包有三个发生了重复依赖 报错信息如图所示: 可以使用 'com.kezong.fat-aar' 打包,具体方式: 1 . 在根目录build.gradle中添加依赖 dependencies { classpath 'com.android.tools.build:gradle:4.2.2' //添加插件 classpath 'com.github.kezong:fat-aar:1.3.6' }2. 在TestModule(插件module)目录下build.gradle中第一行添加 apply plugin: 'com.kezong.fat-aar'然后依赖中如下所示添加, embed 'com.google.protobuf:protobuf-java:2.6.1' implementation 'com.squareup.okhttp3:okhttp:4.8.1' embed 'com.google.code.gson:gson:2.8.6' implementation 'com.squareup.okio:okio:2.8.0' implementation 'com.android.support:support-annotations:26.1.0' embed 'com.loopj.android:android-async-http:1.4.9' embed "android.arch.persistence.room:runtime:1.1.1" embed "android.arch.lifecycle:extensions:1.1.1"embed 引用的依赖在打包aar插件时,会打进libs目录 本地配置adb环境变量,adb目录 示例: D:\AndroidSdk\platform-tools 配置好环境变量后使用如下命令: 1、adb connect 192.168.10.31 2、adb devices 查看连接信息 3、adb logcat >D:outlog.txt 抓取日志保存 4、adb logcat|find "查看" >D:outlog.txt 过滤日志 5、adb logcat -v time 查看实时日志 6、adb logcat -v time >D:outlog.txt 保存日志 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |