欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Flutter集成阿里百川SDK踩的坑

程序员文章站 2022-03-23 10:52:54
Flutter集成阿里百川SDK踩的坑最近有需求拉起淘宝客户端,所以看了看阿里自己的sdk----阿里百川,网上说会有冲突,但也没有解决,说技术文档很多坑,也没说坑在哪。。。。好怕自己也会掉坑,阿里百川应该要更新技术了,毕竟是给自己亲儿子做的。文档也不是很全面。以下就介绍接入过程:我的gradle版本是3.5.0,百川sdk是4.x官网注册登录,创建应用,开通百川产品,套件申请等,这些都好整。到了坑了:上传apk下载安全图片!!!我在flutter工程里生成的apk不行,用android项目工程打...

最近有需求拉起淘宝客户端,所以看了看阿里自己的sdk----阿里百川,网上说会有冲突,但也没有解决,说技术文档很多坑,也没说坑在哪。。。。好怕自己也会掉坑,阿里百川应该要更新技术了,毕竟是给自己亲儿子做的。文档也不是很全面。
以下就介绍接入过程:
我的gradle版本是3.5.0,百川sdk是4.x
官网注册登录,创建应用,开通百川产品,套件申请等,这些都好整。到了坑了:上传apk下载安全图片!!!
我在flutter工程里生成的apk不行,用android项目工程打开生成的apk也不行,于是看官网问答:

  7、上传APK失败,怎么解决?
	     请尝试以下方法:
	       1)降低APK大小
	       2)退出重新登录
	       3)使用空包,包名、签名信息和正式项目保持一致。

都尝试了一遍,毫无用处,实在没办法,他不是跟应用内容无关嘛,只要包名,签名一样,于是乎我就新建了一个安卓工程,包名,签名一样,上传apk成功了!!!安全图片要修改名称,具体也要以官网为准
Gradle接入方式
获得安全图片,并放在/res/drawable目录下,如果已经有安全图片,需要替换。
老用户升级,请先删除原来的所有jar & aar依赖
gradle配置
在整个项目的gradle基础配置文件中加入仓库地址:

allprojects {
 repositories {
   jcenter()
       maven {
            url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
        }
    }
}

在项目module的gradle文件中加入相关依赖

dependencies { 
 ..... 
 //登陆 
 implementation 'com.ali.auth.sdk:alibabauth_core:2.0.0.11@aar'
 implementation 'com.ali.auth.sdk:alibabauth_ui:2.0.0.11@aar'
 implementation 'com.ali.auth.sdk:alibabauth_ext:2.0.0.11@aar'
 //安全组件 
 implementation 'com.taobao.android:securityguardaar3:5.4.171@aar'
 implementation 'com.taobao.android:securitybodyaar3:5.4.99@aar'
 implementation 'com.taobao.android:avmpaar3:5.4.36@aar'
 implementation 'com.taobao.android:sgmiddletieraar3:5.4.9@aar'
 //Mtop 
 implementation 'com.taobao.android:mtopsdk_allinone_open:3.1.2.5@jar'
 //applink 
 implementation 'com.alibaba.sdk.android:alibc_link_partner:4.1.15@aar'
 //ut 
 implementation 'com.taobao.android:utdid4all:1.5.2'
 implementation 'com.alibaba.mtl:app-monitor-sdk:2.6.4.5_for_bc'
 // 电商基础组件 
 implementation 'com.alibaba.sdk.android:AlibcTradeCommon:4.0.0.16@aar'
 implementation 'com.alibaba.sdk.android:AlibcTradeBiz:4.0.0.16@aar'
 implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.16@aar'
 implementation 'com.alibaba:fastjson:1.2.41@jar'
 ..... 
}

接入sdk成功之后还有坑,就是gradle版本是3.5.0以上的工程,编译运行后会初始化失败,code = 1,

5、初始化失败 AlibcSecurity init ErrorCode = 123
1)请先对照下4.X版本开发文档,看依赖是否为最新的
2)Android studio版本在3.5.0以上时可能会出现这个问题,可以把gradle plugin版本降到3.5.0 以下关闭instantrun即可
3)如果保持用3.5.0 android studio运行调试,可以卸载app,然后第一次通过 ./gradlew assembleDebug 打出完整apk,并安装运行,后面再使用android studio IDE中 debug按钮运行。

降低版本是不可能的了,于是我在android工程里用命令生成apk:./gradlew :app:assembleDebug,然后安装:

adb push  ./app/build/outputs/apk/debug/app-debug.apk   /sdcard/Android/data/包名
adb shell pm install --full -t -r " /sdcard/Android/data/包名"

初始化成功!!!

本文地址:https://blog.csdn.net/qq_21469265/article/details/114300034

相关标签: flutter