Skip to content

Commit d609ebf

Browse files
feat: 发布 v1.11.56 到 Maven Central,一行代码集成保活框架
- 配置 maven-publish + GPG 签名,发布 AAR 到 Maven Central - Maven 坐标:io.github.pangu-immortal:keeplive-framework:1.11.56 - 丰富 README:新增快速集成指南、Maven Central 徽章、项目详细介绍 - 统一版本号为 1.11.56(app + framework) - 附带 Sources JAR 和 Javadoc JAR
1 parent 62a5bce commit d609ebf

5 files changed

Lines changed: 172 additions & 18 deletions

File tree

README.md

Lines changed: 80 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Fw - Android 保活框架
1+
# Fw - Android 保活技术百科全书
22

33
<div align="center">
44

@@ -8,6 +8,7 @@
88
<b>🌟 如果觉得有帮助,请点击 <a href="https://github.com/Pangu-Immortal/KeepLiveService/stargazers">Star</a> 支持一下,关注不迷路!🌟</b>
99
</p>
1010

11+
[![Maven Central](https://img.shields.io/maven-central/v/io.github.pangu-immortal/keeplive-framework.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/io.github.pangu-immortal/keeplive-framework)
1112
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
1213
[![Platform](https://img.shields.io/badge/Platform-Android-green.svg)](https://developer.android.com)
1314
[![API](https://img.shields.io/badge/API-24%2B-brightgreen.svg)](https://android-arsenal.com/api?level=24)
@@ -17,11 +18,60 @@
1718

1819
</div>
1920

20-
> 安全研究用途:完整复现市面上所有的保活机制,穷尽展示所有保活手段,适配所有的主流机型和 ROM。
21-
>
22-
> 为了拉齐全网共同认知,让小团队开发不在迷茫,开源了全套所有私密函数和私密策略。会长期持续迭代,会陆陆续续的公开所有的隐私策略,ecpm 策略等等,欢迎 star🌟 持续关注。
21+
> **一行代码接入 27+ 种保活策略,覆盖 Android 7.0 - 16 全版本,适配 10+ 厂商 ROM。**
22+
>
23+
> 完整复现市面上所有商业应用的保活机制——前台服务、双进程守护、Native C++ fork 守护、MediaRoute 媒体路由(酷狗音乐核心方案)、账户同步、JobScheduler、WorkManager、AlarmManager、1 像素 Activity、静默音频、悬浮窗、无障碍服务、通知监听、蓝牙/WiFi/USB/NFC 广播唤醒、ContentObserver、FileObserver、Binder 直调 AMS 防强停……穷尽展示所有保活手段。
24+
>
25+
> 为了拉齐全网共同认知,让小团队开发不再迷茫,开源了全套所有私密函数和私密策略。会长期持续迭代,会陆陆续续的公开所有的隐私策略,ecpm 策略等等,欢迎 star🌟 持续关注。
2326
>
2427
28+
---
29+
30+
## 快速集成
31+
32+
### Step 1:添加依赖
33+
34+
```kotlin
35+
// build.gradle.kts
36+
dependencies {
37+
implementation("io.github.pangu-immortal:keeplive-framework:1.11.56")
38+
}
39+
```
40+
41+
> 仓库说明:本库已发布到 **Maven Central**,项目默认的 `mavenCentral()` 仓库即可拉取,**无需额外配置仓库地址**
42+
43+
### Step 2:一行代码启动
44+
45+
```kotlin
46+
// Application.onCreate()
47+
Fw.init(this)
48+
```
49+
50+
搞定。27+ 种保活策略全部自动启用,无需额外配置。
51+
52+
### Step 3(可选):精细控制
53+
54+
```kotlin
55+
Fw.init(this) {
56+
enableForegroundService = true // 前台服务(核心)
57+
enableDualProcess = true // 双进程守护
58+
enableNativeDaemon = true // Native C++ 守护进程
59+
enableMediaRouteProvider = true // MediaRoute 保活(酷狗方案)
60+
enableSilentAudio = true // 静默音频
61+
aggressiveLevel = AggressiveLevel.MEDIUM // 能耗等级:LOW/MEDIUM/HIGH
62+
enableForceStopResistance = false // 防强停(侵入性强,按需开启)
63+
// ... 40+ 可配置项,详见下方完整配置
64+
}
65+
```
66+
67+
### 运行时控制
68+
69+
```kotlin
70+
Fw.check() // 手动触发保活检查
71+
Fw.stop() // 停止所有保活策略
72+
Fw.isInitialized() // 查询框架状态
73+
```
74+
2575
🔥 **Telegram 群组**[点击加群讨论,这里只是冰山一角。](https://t.me/+V7HSo1YNzkFkY2M1)
2676

2777

@@ -45,8 +95,9 @@
4595

4696
| 章节 | 说明 |
4797
| ------ | ------ |
98+
| [快速集成](#快速集成) | **一行依赖 + 一行初始化** |
4899
| [项目简介](#项目简介) | 框架介绍、特性列表 |
49-
| [快速开始](#快速开始) | 一行代码初始化、配置示例 |
100+
| [快速开始](#快速开始) | 详细配置示例 |
50101
| [保活策略完整列表](#保活策略完整列表) | 27+ 种保活策略详解 |
51102
| [厂商推送通道复用](#厂商推送通道复用高级策略) | 厂商推送 SDK 集成 |
52103
| [项目架构](#项目架构) | 目录结构、模块说明 |
@@ -60,17 +111,22 @@
60111

61112
## 项目简介
62113

63-
Fw(Framework)是一个模块化的 Android 保活框架,复现了所有的商业应用的后台保活技术。当蓝牙设备连接、USB 设备插入、NFC 标签发现等事件发生时,即使应用在后台或进程被杀死,也能自动唤醒并恢复服务。
114+
Fw(Framework)是一个模块化的 Android 保活框架,也是目前开源社区最完整的 **Android 保活技术百科全书**。项目完整复现了市面上所有商业应用(酷狗音乐、墨迹天气、QQ 音乐等)的后台保活技术,采用 Kotlin + Native C++17 双层架构,通过 `Fw.init()` 一行代码即可启用全部 27+ 种保活策略。
115+
116+
项目覆盖了从 Java 层到 Native 层的全栈保活方案:前台服务 + MediaSession、双进程守护、Native fork 守护进程、MediaRoute 虚拟媒体路由、账户同步、JobScheduler/WorkManager/AlarmManager 定时唤醒、1 像素 Activity、锁屏 Activity、悬浮窗、静默音频、无障碍服务、通知监听服务、8 种系统广播接收器(蓝牙/WiFi/USB/NFC/媒体按键/存储挂载)、ContentObserver 内容观察者、FileObserver 文件监控、进程优先级管理、电池优化白名单、以及最极端的 Binder 直调 AMS 防强停策略。
117+
118+
所有策略通过 `FwConfig` 的 40+ 配置项独立控制开关,`ServiceStarter` 作为唯一拉起汇聚点,`RestartProtection` 防止无限重启耗电。最多同时运行 5 个进程(主进程 + :daemon + :assist1 + :assist2 + :assist3)形成环形互保。
64119

65120
**特性:**
66121

67-
- 🚀 一行代码初始化
68-
- 📦 模块化设计,策略可独立开关
69-
- 🔧 支持 27+ 种保活策略
70-
- 📱 适配 Android 7.0 - 16(API 24 - 36)
71-
- 🏭 支持主流厂商(小米、华为、OPPO、vivo、三星、Google、传音等)
72-
- 🔨 包含 Native C++ 层保活
73-
- 📊 提供厂商集成分析工具
122+
- 🚀 **一行代码集成**`implementation("io.github.pangu-immortal:keeplive-framework:1.11.56")`
123+
- 📦 **模块化设计** — 27+ 种策略独立开关,40+ 配置项精细控制
124+
- 🔨 **Native C++ 层** — fork 守护进程、Socket 心跳、文件锁互监控、Binder 直调 AMS
125+
- 📱 **全版本适配** — Android 7.0 - 16(API 24 - 36),包括 16KB 页面大小
126+
- 🏭 **全厂商覆盖** — 小米、华为、OPPO、vivo、三星、魅族、一加等 10+ 厂商,16 个自启动管理 Intent
127+
- 🎵 **商业级方案** — 酷狗音乐 MediaRoute、墨迹天气锁屏、QQ 音乐静默音频等核心保活技术
128+
- 📊 **厂商分析工具** — 检测目标应用的推送 SDK 和保活机制
129+
- 🛡️ **生产级质量** — 通过 Lint 检查、ProGuard 混淆优化,可直接上架应用商店
74130

75131
---
76132

@@ -1172,7 +1228,17 @@ Native 守护进程(fork)在普通应用中效果有限,因为:
11721228

11731229
## 更新日志
11741230

1175-
### v2.2.1 (2026-02) 🆕
1231+
### v1.11.56 (2026-04) 🆕
1232+
1233+
**Maven Central 正式发布** — 一行代码引用
1234+
1235+
- 发布到 **Maven Central**`implementation("io.github.pangu-immortal:keeplive-framework:1.11.56")`
1236+
- 无需额外配置仓库地址,项目默认的 `mavenCentral()` 即可拉取
1237+
- 附带 Sources JAR 和 Javadoc JAR,IDE 可直接查看源码和文档
1238+
- 丰富 README 文档,新增快速集成指南
1239+
- 完善 POM 元数据、GPG 签名,符合 Maven Central 发布规范
1240+
1241+
### v2.2.1 (2026-02)
11761242

11771243
**新增保活策略增强** - 借鉴 KeepAlivePerfect 核心技术
11781244

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ android {
5454
applicationId = "com.google.services"
5555
minSdk = 24
5656
targetSdk = 36
57-
versionCode = 26022001
58-
versionName = "2.2.1"
57+
versionCode = 11156
58+
versionName = "1.11.56"
5959

6060
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
6161

framework/build.gradle.kts

Lines changed: 83 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
plugins {
3434
alias(libs.plugins.android.library)
3535
alias(libs.plugins.kotlin.android)
36+
`maven-publish`
37+
signing
3638
}
3739

3840
android {
@@ -46,7 +48,7 @@ android {
4648
consumerProguardFiles("consumer-rules.pro")
4749

4850
// 构建配置字段 - 用于运行时获取构建信息
49-
buildConfigField("String", "FW_VERSION", "\"2.2.1\"")
51+
buildConfigField("String", "FW_VERSION", "\"1.11.56\"")
5052
buildConfigField("String", "FW_BUILD_TIME", "\"2026-02-20T${System.currentTimeMillis()}\"")
5153
buildConfigField("String", "FW_AUTHOR", "\"Pangu-Immortal\"")
5254
buildConfigField("String", "FW_GITHUB", "\"https://github.com/Pangu-Immortal\"")
@@ -116,6 +118,14 @@ android {
116118
useLegacyPackaging = true
117119
}
118120
}
121+
122+
// Maven Central 发布配置:仅发布 release 变体,附带源码和文档
123+
publishing {
124+
singleVariant("release") {
125+
withSourcesJar()
126+
withJavadocJar()
127+
}
128+
}
119129
}
120130

121131
dependencies {
@@ -132,3 +142,75 @@ dependencies {
132142
androidTestImplementation(libs.androidx.junit)
133143
androidTestImplementation(libs.androidx.espresso.core)
134144
}
145+
146+
// ==================== Maven Central 发布配置 ====================
147+
148+
// 从 gradle.properties 或 ~/.gradle/gradle.properties 读取发布参数
149+
val libGroupId: String = findProperty("LIB_GROUP_ID") as String? ?: "io.github.pangu-immortal"
150+
val libArtifactId: String = findProperty("LIB_ARTIFACT_ID") as String? ?: "keeplive-framework"
151+
val libVersion: String = findProperty("LIB_VERSION") as String? ?: "1.11.56"
152+
153+
afterEvaluate {
154+
publishing {
155+
publications {
156+
create<MavenPublication>("release") {
157+
from(components["release"])
158+
159+
groupId = libGroupId
160+
artifactId = libArtifactId
161+
version = libVersion
162+
163+
pom {
164+
name.set("KeepLive Framework")
165+
description.set("Android 保活技术百科全书 — 27+ 种保活策略,Native C++ 守护进程,适配 Android 7.0-16 全版本,覆盖 10+ 厂商 ROM")
166+
url.set("https://github.com/Pangu-Immortal/KeepLiveService")
167+
inceptionYear.set("2024")
168+
169+
licenses {
170+
license {
171+
name.set("The Apache License, Version 2.0")
172+
url.set("https://www.apache.org/licenses/LICENSE-2.0.txt")
173+
}
174+
}
175+
176+
developers {
177+
developer {
178+
id.set("Pangu-Immortal")
179+
name.set("Pangu-Immortal")
180+
url.set("https://github.com/Pangu-Immortal")
181+
}
182+
}
183+
184+
scm {
185+
connection.set("scm:git:git://github.com/Pangu-Immortal/KeepLiveService.git")
186+
developerConnection.set("scm:git:ssh://github.com:Pangu-Immortal/KeepLiveService.git")
187+
url.set("https://github.com/Pangu-Immortal/KeepLiveService")
188+
}
189+
}
190+
}
191+
}
192+
193+
repositories {
194+
// Maven Central(Sonatype OSSRH)
195+
maven {
196+
name = "sonatype"
197+
val releasesUrl = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
198+
val snapshotsUrl = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
199+
url = if (libVersion.endsWith("SNAPSHOT")) snapshotsUrl else releasesUrl
200+
credentials {
201+
username = findProperty("ossrhUsername") as String? ?: ""
202+
password = findProperty("ossrhPassword") as String? ?: ""
203+
}
204+
}
205+
}
206+
}
207+
208+
// GPG 签名(Maven Central 强制要求,本地测试时可跳过)
209+
val hasSigningKey = findProperty("signing.gnupg.keyName") != null
210+
if (hasSigningKey) {
211+
signing {
212+
useGpgCmd()
213+
sign(publishing.publications["release"])
214+
}
215+
}
216+
}

gradle.properties

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,9 @@ android.builtInKotlin=false
3535
android.newDsl=false
3636
# 抑制 excludeLibraryComponentsFromConstraints 警告
3737
android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false
38-
kotlin.incremental=true
38+
kotlin.incremental=true
39+
40+
# ==================== Maven Central 发布配置 ====================
41+
LIB_GROUP_ID=io.github.pangu-immortal
42+
LIB_ARTIFACT_ID=keeplive-framework
43+
LIB_VERSION=1.11.56

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dependencyResolutionManagement {
1616
repositories {
1717
google()
1818
mavenCentral()
19+
// mavenLocal() // 本地测试用
1920
}
2021
}
2122

0 commit comments

Comments
 (0)