uni-app 官方 Google 与 Facebook 登录插件离线打包 Debug 模式下 uni.getProvider 无法取得登录方式

uni-app 官方 Google 与 Facebook 登录插件离线打包 Debug 模式下 uni.getProvider 无法取得登录方式

类别 信息
产品分类 uniapp/App
PC开发环境 Mac
PC开发环境版本 macOS 12.0.1
HBuilderX类型 正式
HBuilderX版本 3.2.9
手机系统 Android
手机系统版本 Android 11
手机厂商 三星
手机机型 A21
页面类型 vue
vue版本 vue2
打包方式 离线
项目创建方式 HBuilderX

示例代码:

let name = 'facebook'  
uni.login({  
    provider: name,  
    success: (res) => {  
            console.log('res:apple ', res);                       
    },  
    fail: (err) => {  
        console.log('login fail:', err);  
    }  
});

操作步骤:

https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/oauth
按照文档要求将oauth-facebook-release.aar 或 oauth-google-release.aar 导入,然后打包出 debug apk

预期结果:

正常使用 Facebook 或 Google 登录功能

实际结果:

无法使用 Facebook 或 Google 登录功能

bug描述:

Android-SDK@3.2.9.81057_20210927
【报Bug】官方 Google 与 Facebook 登录插件,离线打包 Debug 模式,
uni.getProvider 无法取得登录方式

{
"errMsg": "getProvider:ok",
"service": "oauth",
"provider": []
}

亦无法使用 uni.login 登录,提示错误

{
"errMsg": "login:fail provider not find",
"errCode": 0,
"code": 0
}

使用 HBuilderX 在线打包模式,打出 Debug 包,上述功能可正常使用


更多关于uni-app 官方 Google 与 Facebook 登录插件离线打包 Debug 模式下 uni.getProvider 无法取得登录方式的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

我也遇到了

更多关于uni-app 官方 Google 与 Facebook 登录插件离线打包 Debug 模式下 uni.getProvider 无法取得登录方式的实战教程也可以访问 https://www.itying.com/category-93-b0.html


离线打包使用的谷歌登录和Facebook登录的时候需要加上依赖
工程目录的build.gradle :
classpath ‘com.google.gms:google-services:4.2.0’
app目录的build.gradle:
implementation ‘com.google.android.gms:play-services-auth:19.2.0’

implementation ‘com.facebook.android:facebook-login:4.42.0’
离线的文档我会补充一下。

在离线打包的Debug模式下,uni.getProvider无法获取到Facebook和Google登录方式,这通常是由于配置问题导致的。以下是几个关键排查点:

  1. aar文件版本匹配:确保使用的oauth-facebook-release.aaroauth-google-release.aar版本与SDK版本(3.2.9.81057)严格匹配。版本不兼容会导致模块无法注册。

  2. 模块配置检查:在离线打包工程的dcloud_properties.xml中,确认已正确声明oauth模块:

    <feature name="OAuth" value="io.dcloud.feature.oauth.OAuthFeatureImpl"/>
    
  3. Debug模式特殊配置:某些SDK版本在Debug模式下需要额外配置。检查是否需要在build.gradle中为Debug构建类型显式添加依赖:

    debugImplementation files('libs/oauth-facebook-release.aar')
    debugImplementation files('libs/oauth-google-release.aar')
回到顶部