开箱即用的 Android 登录模板
账密登录 · 短信验证 · 注册找回 · 弹窗 UI · HTTPS / Mock 双模式
| 账号登录 | 短信注册 |
|---|---|
![]() |
![]() |
弹窗式登录 / 注册 UI,宿主 App 一行代码拉起;适合游戏、工具、Demo 快速接入。
这不只是「登录页 Demo」,而是一套可嵌入的登录 SDK:
| 能力 | 说明 |
|---|---|
| 账密登录 | 弹窗 UI + 无 UI Headless API |
| 短信快捷登录 | 验证码倒计时,流程已打通 |
| 注册 / 找回密码 | 完整表单与校验 |
| Mock 开箱可跑 | 不依赖旧后端,clone 就能演示 |
| 可接真实 HTTPS | HttpAuthRepository 兼容经典 LoginServer 路径 |
| 现代工程 | Kotlin · AndroidX · AGP 8 · 单元测试 · CI |
适合:学 Android 登录链路、做项目模板、给游戏/App 快速挂登录。
# Android Studio 打开本仓库 → 运行 sample 模块
# 或命令行:
gradlew.bat :sample:assembleDebugMock 演示账号
| 手机号 | 密码 | 短信验证码 |
|---|---|---|
13800138000 |
123456 |
888888 |
dependencies {
implementation(project(":loginsdk"))
}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) { }
})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/securityLogin、user/getCode、user/regist、user/retrieve、user/checkLogin、user/thirdLogin。
微信 / QQ:客户端可开入口开关,OAuth Secret 请放服务端。更多安全约定见 docs/SECURITY.md。
apktool_2.3.4.jar d -f demo.apk
\dex2jar-2.0\d2j-dex2jar.bat demo\classes.dex
- jd-gui
打开反编译后的classes-dex2jar.jar即可阅读源码。
- Library 的混淆一般在 App 模块
build.gradle里统一配置即可 - Library 自身开混淆可能导致 Debug 断点失效
- 打 AAR 时,远程依赖需注意是否打进包内(可改为本地 jar)
本项目主要用于学习与技术交流。禁止一切商业目的的使用,否则后果自负。
- GitHub: cheng2016
- Email: mitnick.cheng@outlook.com
- QQ: 1102743539
- CSDN: souls0808
Apache License 2.0 © 2016–2026 cheng2016

