Skip to content

Commit

Permalink
feat: 基础架构
Browse files Browse the repository at this point in the history
  • Loading branch information
lisonge committed Dec 14, 2021
1 parent b8f7d50 commit b288cdd
Show file tree
Hide file tree
Showing 45 changed files with 630 additions and 245 deletions.
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
# AdCloser
# gkd

基于无障碍和自定义匹配规则的广告关闭app
搞快点,顾名思义,做快速点击,一款基于无障碍和自定义匹配规则的快速点击app

记录递归调用的次数, 根据统计次数考虑是否添加规则长度, 可减少匹配时间
## feature

- 跳过启动页面
- 关闭app内部广告
- 任意点击操作
- 支持导入订阅链接
- 支持浏览器直接跳转导入规则至app

类似 uiautomatorviewer 的路径选取规则创建器

# Fix Bug

Expand Down
44 changes: 34 additions & 10 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
}

val composeVersion = "1.0.5"
Expand All @@ -9,7 +10,7 @@ android {
buildToolsVersion = "31.0.0"

defaultConfig {
applicationId = "li.songe.ad_closer"
applicationId = "li.songe.gkd"
minSdk = 26
targetSdk = 31
versionCode = 1
Expand Down Expand Up @@ -40,9 +41,11 @@ android {
)
)
signingConfig = signingConfigs.getByName("release")
manifestPlaceholders["appName"] = "搞快点"
}
debug {
applicationIdSuffix = ".debug"
manifestPlaceholders["appName"] = "搞快点-dev"
}
}
compileOptions {
Expand All @@ -66,29 +69,50 @@ android {
}

dependencies {

implementation("androidx.core:core-ktx:1.7.0")
// normal
implementation("androidx.appcompat:appcompat:1.4.0")
implementation("com.google.android.material:material:1.4.0")

// ktx
implementation("androidx.core:core-ktx:1.7.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.4.0")

// compose
implementation("androidx.compose.ui:ui:$composeVersion")
implementation("androidx.compose.material:material:$composeVersion")
implementation("androidx.compose.ui:ui-tooling-preview:$composeVersion")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.4.0")
debugImplementation("androidx.compose.ui:ui-tooling:$composeVersion")
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$composeVersion")
implementation("androidx.activity:activity-compose:1.4.0")
implementation("androidx.navigation:navigation-compose:2.4.0-beta02")

// test
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.3")
androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$composeVersion")
debugImplementation("androidx.compose.ui:ui-tooling:$composeVersion")

// https://github.com/RikkaApps/Shizuku-API
val shizuku_version = "12.1.0"
implementation("dev.rikka.shizuku:api:$shizuku_version")
// Add this line if you want to support Shizuku
implementation("dev.rikka.shizuku:provider:$shizuku_version")
val shizukuVersion = "12.1.0"
implementation("dev.rikka.shizuku:api:$shizukuVersion")
implementation("dev.rikka.shizuku:provider:$shizukuVersion")

// 工具集合类
// https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/README-CN.md
implementation("com.blankj:utilcodex:1.30.6")

// https://developer.android.com/jetpack/compose/navigation
implementation("androidx.navigation:navigation-compose:2.4.0-beta02")

// https://bugly.qq.com/docs/user-guide/instruction-manual-android/
implementation("com.tencent.bugly:crashreport:4.0.0")

// https://developer.android.google.cn/training/data-storage/room?hl=zh-cn
val roomVersion = "2.3.0"
implementation("androidx.room:room-runtime:$roomVersion")
kapt("androidx.room:room-compiler:$roomVersion")
implementation("androidx.room:room-ktx:$roomVersion")

implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation ("com.google.code.gson:gson:2.8.9")

}
5 changes: 4 additions & 1 deletion app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,7 @@

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#-renamesourcefileattribute SourceFile

-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.songe.ad_closer
package li.songe.gkd

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
Expand All @@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("li.songe.ad_closer", appContext.packageName)
assertEquals("li.songe.gkd", appContext.packageName)
}
}
28 changes: 20 additions & 8 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="li.songe.ad_closer">
package="li.songe.gkd">
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:label="${appName}"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:name=".App"
android:name="li.songe.gkd.App"
android:theme="@style/Theme.AdCloser">

<activity
android:name=".MainActivity"
android:name="li.songe.gkd.MainActivity"
android:exported="true"
android:label="@string/app_name"
android:excludeFromRecents="true"
android:theme="@style/Theme.AdCloser.NoActionBar">
</activity>
<activity
android:name=".EntryActivity"
android:name="li.songe.gkd.EntryActivity"
android:exported="true"
android:label="@string/app_name"
android:excludeFromRecents="true"
android:theme="@style/Entry">
<intent-filter>
Expand All @@ -30,9 +31,20 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="li.songe.gkd.WebActivity"
android:exported="true">
<intent-filter>
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="dev.songe.li"
android:path="/detail"
android:port="80"
android:scheme="adcloser" />
</intent-filter>
</activity>

<service
android:name=".service.AdCloserService"
android:name="li.songe.gkd.service.GkdService"
android:exported="false"
android:label="@string/accessibility_service_label"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// IUserService.aidl
package li.songe.ad_closer;
package li.songe.gkd;

interface IUserService {
void destroy() = 16777114; // Destroy method defined by Shizuku server
Expand Down
11 changes: 0 additions & 11 deletions app/src/main/java/li/songe/ad_closer/App.kt

This file was deleted.

72 changes: 0 additions & 72 deletions app/src/main/java/li/songe/ad_closer/MainActivity.kt

This file was deleted.

11 changes: 0 additions & 11 deletions app/src/main/java/li/songe/ad_closer/data/RuleGroup.kt

This file was deleted.

18 changes: 18 additions & 0 deletions app/src/main/java/li/songe/gkd/App.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package li.songe.gkd

import android.app.Application
import com.blankj.utilcode.util.LogUtils
import com.tencent.bugly.crashreport.CrashReport

class App:Application() {
companion object{
lateinit var context:Application
}
override fun onCreate() {
super.onCreate()
context = this
LogUtils.d("onCreate")
LogUtils.getConfig().isLog2FileSwitch = true
CrashReport.initCrashReport(applicationContext, "d0ce46b353", false);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.songe.ad_closer
package li.songe.gkd

import android.content.Intent
import android.os.Bundle
Expand Down
44 changes: 44 additions & 0 deletions app/src/main/java/li/songe/gkd/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package li.songe.gkd

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Scaffold
import androidx.compose.material.Surface
import androidx.compose.ui.graphics.Color
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.compose.rememberNavController
import kotlinx.coroutines.launch
import li.songe.gkd.ui.BottomNavigationBar
import li.songe.gkd.ui.NavHostContainer
import li.songe.gkd.ui.theme.AdCloserTheme


class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AdCloserTheme {
Surface(color = MaterialTheme.colors.background) {
Surface(color = Color.White) {
val navController = rememberNavController()
Scaffold(
bottomBar = {
BottomNavigationBar(navController = navController)
}, content = { padding ->
NavHostContainer(navController = navController, padding = padding)
}
)
}
}
}
}
lifecycleScope.launch {
lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
}
}
}
}
12 changes: 12 additions & 0 deletions app/src/main/java/li/songe/gkd/WebActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package li.songe.gkd

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.blankj.utilcode.util.LogUtils

class WebActivity:AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
LogUtils.d(intent.data)
}
}
Loading

0 comments on commit b288cdd

Please sign in to comment.