Source: https://seerepo.com/r/shadowsocks/shadowsocks-android/built
Markdown source: https://seerepo.com/r/shadowsocks/shadowsocks-android/built.md
Description: shadowsocks-android is a Kotlin repo built with androidx.core:core-ktx, lifecycle-runtime-ktx, and androidx.fragment:fragment-ktx.

# What is shadowsocks-android built with?

shadowsocks-android is a Kotlin repo built with androidx.core:core-ktx, lifecycle-runtime-ktx, and androidx.fragment:fragment-ktx. It reaches it with room-runtime, makes its content with com.google.mlkit:barcode-scanning and com.google.zxing:core, is tested with espresso-core, junit:junit, androidx.room:room-testing, androidx.test:runner, and androidx.test.ext:junit-ktx, deploys with com.jakewharton.timber:timber, and uses Firebase. It has 11,516 written lines, with 7 test files.

Read on November 6, 2026, at commit ae28fd9.

Repository: https://github.com/shadowsocks/shadowsocks-android

## Frontend

### The base

- **[androidx.core:core-ktx](https://seerepo.com/uses/androidxcore-core-ktx)**: 30 files

### Interface

- **constraintlayout**
- **androidx.preference:preference**: 13 files
- **[Google](https://seerepo.com/uses/google)**: 11 files
- **androidx.camera:camera-view**: 1 file

## Backend

### Data access

- **room-runtime**

### Services

- **[Firebase](https://seerepo.com/uses/firebase)**: 2 files · [core/src/main/java/com/github/shadowsocks/bg/BaseService.kt, line 46](https://github.com/shadowsocks/shadowsocks-android/blob/ae28fd91931fe4d2d5aab044de9ceaf9ed07ad56/core/src/main/java/com/github/shadowsocks/bg/BaseService.kt#L46)

## Support

### The base

- **lifecycle-runtime-ktx**
- **androidx.fragment:fragment-ktx**: 10 files

### Content

- **com.google.mlkit:barcode-scanning**: 1 file
- **[com.google.zxing:core](https://seerepo.com/uses/comgooglezxing-core)**: 1 file

### Testing

- **espresso-core**
- **junit:junit**: 6 files
- **androidx.room:room-testing**: 1 file
- **androidx.test:runner**: 1 file
- **androidx.test.ext:junit-ktx**: 1 file

### Deploy

- **com.jakewharton.timber:timber**: 22 files

### Tools

- **dokka-gradle-plugin**
- **firebase-crashlytics-gradle**
- **google-services**
- **gradle**
- **gradle-maven-publish-plugin**
- **kotlin-gradle-plugin**
- **room-compiler**

### Other

- **camera-camera2**
- **desugar_jdk_libs**
- **dnsjava**
- **[JetBrains](https://seerepo.com/uses/jetbrains)**
- **kotlinx-coroutines-play-services**
- **play-services-oss-licenses**
- **work-multiprocess**
- **work-runtime-ktx**
- **androidx.lifecycle:lifecycle-livedata-core-ktx**: 5 files
- **androidx.browser:browser**: 1 file
- **androidx.camera:camera-lifecycle**: 1 file
- **com.google.firebase:firebase-crashlytics**: 1 file

## Other repos with a similar stack

- [open-ani/animeko](https://seerepo.com/r/open-ani/animeko/built): androidx.core:core-ktx, lifecycle-runtime-ktx, Google, androidx.camera:camera-view, room-runtime, com.google.zxing:core · [Compare](https://seerepo.com/compare/open-ani/animeko/vs/shadowsocks/shadowsocks-android)
- [bannedbook/fanqiang](https://seerepo.com/r/bannedbook/fanqiang/built): androidx.core:core-ktx, Firebase, constraintlayout, androidx.preference:preference, room-runtime · [Compare](https://seerepo.com/compare/bannedbook/fanqiang/vs/shadowsocks/shadowsocks-android)
- [modelscope/FunASR](https://seerepo.com/r/modelscope/FunASR/built): androidx.core:core-ktx, lifecycle-runtime-ktx, constraintlayout, Google · [Compare](https://seerepo.com/compare/modelscope/FunASR/vs/shadowsocks/shadowsocks-android)
- [2dust/v2rayNG](https://seerepo.com/r/2dust/v2rayNG/built): androidx.core:core-ktx, lifecycle-runtime-ktx, com.google.zxing:core · [Compare](https://seerepo.com/compare/2dust/v2rayNG/vs/shadowsocks/shadowsocks-android)
- [topjohnwu/Magisk](https://seerepo.com/r/topjohnwu/Magisk/built): Google, room-runtime, com.jakewharton.timber:timber · [Compare](https://seerepo.com/compare/shadowsocks/shadowsocks-android/vs/topjohnwu/Magisk)
- [TeamNewPipe/NewPipe](https://seerepo.com/r/TeamNewPipe/NewPipe/built): androidx.core:core-ktx, androidx.preference:preference, Google · [Compare](https://seerepo.com/compare/shadowsocks/shadowsocks-android/vs/TeamNewPipe/NewPipe)

## Frequently asked questions

### What language is shadowsocks-android written in?

shadowsocks-android is written in Kotlin, with 11,516 written lines.

### What framework does shadowsocks-android use?

shadowsocks-android is built with androidx.core:core-ktx, lifecycle-runtime-ktx, and androidx.fragment:fragment-ktx.

### What services does shadowsocks-android use?

shadowsocks-android uses Firebase.

The proof: [core/src/main/java/com/github/shadowsocks/bg/BaseService.kt, line 46](https://github.com/shadowsocks/shadowsocks-android/blob/ae28fd91931fe4d2d5aab044de9ceaf9ed07ad56/core/src/main/java/com/github/shadowsocks/bg/BaseService.kt#L46)

### Does shadowsocks-android have tests?

Yes. shadowsocks-android has 7 test files and is tested with espresso-core, junit:junit, androidx.room:room-testing, androidx.test:runner, and androidx.test.ext:junit-ktx.

### Which repos have a stack like shadowsocks-android's?

The ones that share most of its stack: open-ani/animeko, bannedbook/fanqiang, and modelscope/FunASR.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
