Skip to content

Repository files navigation

LoginSdk

开箱即用的 Android 登录模板
账密登录 · 短信验证 · 注册找回 · 弹窗 UI · HTTPS / Mock 双模式

CI Kotlin minSdk targetSdk License


效果预览

账号登录 短信注册

弹窗式登录 / 注册 UI,宿主 App 一行代码拉起;适合游戏、工具、Demo 快速接入。


为什么用它?

这不只是「登录页 Demo」,而是一套可嵌入的登录 SDK

能力 说明
账密登录 弹窗 UI + 无 UI Headless API
短信快捷登录 验证码倒计时,流程已打通
注册 / 找回密码 完整表单与校验
Mock 开箱可跑 不依赖旧后端,clone 就能演示
可接真实 HTTPS HttpAuthRepository 兼容经典 LoginServer 路径
现代工程 Kotlin · AndroidX · AGP 8 · 单元测试 · CI

适合:学 Android 登录链路做项目模板给游戏/App 快速挂登录


30 秒上手

# Android Studio 打开本仓库 → 运行 sample 模块
# 或命令行:
gradlew.bat :sample:assembleDebug

Mock 演示账号

手机号 密码 短信验证码
13800138000 123456 888888

集成(给宿主 App)

1. 依赖

dependencies {
    implementation(project(":loginsdk"))
}

2. 初始化 + 弹出登录

MangoSdk.init(
    this,
    LoginConfig(
        appId = "your-app-id",
        appKey = "your-app-key",
        useMock = true,          // 接真实服务改为 false,并设置 baseUrl
        title = "账号登录"
    ),
    object : InitCallback {
        override fun onInitResult(success: Boolean, message: String?) {
            if (!success) toast(message)
        }
    }
)

MangoSdk.login(this, object : LoginCallback {
    override fun onLoginSuccess(activity: Activity, account: Account) {
        // account.accessToken / phone / userName
    }
    override fun onLoginCancel() { }
    override fun onLoginError(activity: Activity, code: Int, message: String) { }
})

3. 不要 UI?也能登录

MangoSdk.loginWithCredentials(this, phone, password, callback)
MangoSdk.loginWithSmsCode(this, phone, code, callback)

工程结构

LoginSdk/
├── loginsdk/      # Android Library(AAR)
├── sample/        # 可运行演示 App
├── screenshort/   # UI 截图
└── _legacy/       # 2016 年原工程归档

接真实后端

LoginConfig(
    appId = "prod-app",
    useMock = false,
    baseUrl = "https://your.api.com/LoginServer/"
)

兼容路径:user/securityLoginuser/getCodeuser/registuser/retrieveuser/checkLoginuser/thirdLogin

微信 / QQ:客户端可开入口开关,OAuth Secret 请放服务端。更多安全约定见 docs/SECURITY.md


额外笔记(原仓库精华)

Android 反编译入门

  1. apktool
apktool_2.3.4.jar d -f demo.apk
  1. dex2Jar
\dex2jar-2.0\d2j-dex2jar.bat demo\classes.dex
  1. jd-gui
    打开反编译后的 classes-dex2jar.jar 即可阅读源码。

防止反编译 / 代码混淆相关

APK 混淆小记

  • Library 的混淆一般在 App 模块 build.gradle 里统一配置即可
  • Library 自身开混淆可能导致 Debug 断点失效
  • 打 AAR 时,远程依赖需注意是否打进包内(可改为本地 jar)

声明

本项目主要用于学习与技术交流。禁止一切商业目的的使用,否则后果自负。

Contact

License

Apache License 2.0 © 2016–2026 cheng2016

About

这是一个登录的模板,包含短信验证功能,包含https请求

Topics

Resources

Security policy

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages