Source: https://seerepo.com/r/ankidroid/Anki-Android/built
Markdown source: https://seerepo.com/r/ankidroid/Anki-Android/built.md
Description: Anki-Android is a Kotlin repo built with androidx.activity:activity, Jetpack Compose, activity-compose, fragment-ktx, lifecycle-process, and 3 more.

# What is Anki-Android built with?

Anki-Android is a Kotlin repo built with androidx.activity:activity, Jetpack Compose, activity-compose, fragment-ktx, lifecycle-process, and 3 more. It makes its content with org.jsoup:jsoup and androidx.exifinterface:exifinterface, is tested with fragment-testing, hamcrest-library, junit-jupiter-params, junit-platform-launcher, junit-vintage-engine, and 26 more, deploys with com.jakewharton.timber:timber and org.slf4j:slf4j-api, and uses androidx.sqlite:sqlite-framework. It has 279,395 written lines, with 867 test files.

Read on November 11, 2026, at commit 39804f7.

Repository: https://github.com/ankidroid/Anki-Android

## Frontend

### The base

- **androidx.activity:activity**: 66 files
- **[Jetpack Compose](https://seerepo.com/uses/jetpack-compose)**: 24 files

### Interface

- **android-image-cropper**
- **media3-ui**
- **[androidx.appcompat:appcompat](https://seerepo.com/uses/androidxappcompat-appcompat)**: 117 files
- **[Google](https://seerepo.com/uses/google)**: 80 files
- **[androidx.recyclerview:recyclerview](https://seerepo.com/uses/androidxrecyclerview-recyclerview)**: 38 files
- **androidx.preference:preference-ktx**: 33 files
- **[androidx.constraintlayout:constraintlayout](https://seerepo.com/uses/androidxconstraintlayout-constraintlayout)**: 8 files
- **androidx.viewpager2:viewpager2**: 5 files
- **androidx.swiperefreshlayout:swiperefreshlayout**: 1 file

## Backend

### Data

- **androidx.sqlite:sqlite-framework**: 2 files

## Support

### The base

- **[activity-compose](https://seerepo.com/uses/activity-compose)**
- **fragment-ktx**
- **lifecycle-process**
- **[lifecycle-runtime-compose](https://seerepo.com/uses/lifecycle-runtime-compose)**
- **[org.jetbrains.kotlin:kotlin-stdlib](https://seerepo.com/uses/orgjetbrainskotlin-kotlin-stdlib)**
- **[androidx.core:core](https://seerepo.com/uses/androidxcore-core)**: 237 files

### Content

- **[org.jsoup:jsoup](https://seerepo.com/uses/orgjsoup-jsoup)**: 2 files
- **androidx.exifinterface:exifinterface**: 1 file

### Testing

- **fragment-testing**
- **hamcrest-library**
- **junit-jupiter-params**
- **junit-platform-launcher**
- **junit-vintage-engine**
- **kotlin-test-junit**
- **kotlin-test-junit5**
- **org.jetbrains.kotlin:kotlin-test**
- **roborazzi**
- **roborazzi-accessibility-check**
- **roborazzi-junit-rule**
- **rules**
- **ui-test-junit4**
- **ui-test-manifest**
- **androidx.test.ext:junit**: 350 files
- **org.robolectric:robolectric**: 305 files
- **org.hamcrest:hamcrest**: 301 files
- **androidx.test:core**: 139 files
- **io.mockk:mockk**: 91 files
- **androidx.test.espresso:espresso-core**: 48 files
- **org.junit.jupiter:junit-jupiter**: 48 files
- **org.mockito.kotlin:mockito-kotlin**: 43 files
- **org.mockito:mockito-inline**: 33 files
- **com.google.testparameterinjector:test-parameter-injector**: 20 files
- **app.cash.turbine:turbine**: 19 files
- **androidx.work:work-testing**: 7 files
- **androidx.test.uiautomator:uiautomator**: 4 files
- **androidx.test.espresso:espresso-contrib**: 3 files
- **androidx.arch.core:core-testing**: 2 files
- **androidx.benchmark:benchmark-macro-junit4**: 2 files
- **androidx.test:runner**: 2 files

### Deploy

- **com.jakewharton.timber:timber**: 314 files
- **[org.slf4j:slf4j-api](https://seerepo.com/uses/orgslf4j-slf4j-api)**: 9 files

### Tools

- **com.google.auto.service:auto-service-annotations**
- **compose-compiler-gradle-plugin**
- **gradle**
- **kotlin-gradle-plugin**
- **leakcanary-android**
- **lint-api**
- **lint-tests**
- **profileinstaller**
- **roborazzi-gradle-plugin**
- **ui-tooling**
- **ui-tooling-preview**
- **androidx.annotation:annotation**: 287 files
- **com.google.auto.service:auto-service**: 1 file

### Other

- **commons-io**
- **desugar_jdk_libs_nio**
- **lifecycle-viewmodel-compose**
- **media3-exoplayer-dash**
- **okhttp**
- **work-runtime-ktx**
- **[JetBrains](https://seerepo.com/uses/jetbrains)**: 36 files
- **org.json:json**: 29 files
- **org.jetbrains.kotlinx:kotlinx-serialization-json**: 11 files
- **com.google.protobuf:protobuf-kotlin-lite**: 6 files
- **androidx.browser:browser**: 5 files
- **androidx.webkit:webkit**: 4 files
- **androidx.media3:media3-exoplayer**: 2 files
- **androidx.concurrent:concurrent-futures-ktx**: 1 file
- **com.github.zafarkhaja:java-semver**: 1 file
- **com.jakewharton:process-phoenix**: 1 file
- **org.apache.commons:commons-collections4**: 1 file
- **org.apache.commons:commons-compress**: 1 file

## Other repos with a similar stack

- [signalapp/Signal-Android](https://seerepo.com/r/signalapp/Signal-Android/built): Jetpack Compose, fragment-ktx, lifecycle-process, lifecycle-runtime-compose, androidx.appcompat:appcompat, Google, androidx.constraintlayout:constraintlayout, androidx.exifinterface:exifinterface · [Compare](https://seerepo.com/compare/ankidroid/Anki-Android/vs/signalapp/Signal-Android)
- [material-components/material-components-android](https://seerepo.com/r/material-components/material-components-android/built): androidx.activity:activity, Jetpack Compose, activity-compose, androidx.core:core, androidx.appcompat:appcompat, androidx.recyclerview:recyclerview, androidx.constraintlayout:constraintlayout, androidx.viewpager2:viewpager2 · [Compare](https://seerepo.com/compare/ankidroid/Anki-Android/vs/material-components/material-components-android)
- [TeamNewPipe/NewPipe](https://seerepo.com/r/TeamNewPipe/NewPipe/built): Jetpack Compose, fragment-ktx, androidx.appcompat:appcompat, Google, androidx.recyclerview:recyclerview, androidx.constraintlayout:constraintlayout, org.jsoup:jsoup · [Compare](https://seerepo.com/compare/ankidroid/Anki-Android/vs/TeamNewPipe/NewPipe)
- [bumptech/glide](https://seerepo.com/r/bumptech/glide/built): Jetpack Compose, fragment-ktx, lifecycle-runtime-compose, androidx.core:core, androidx.appcompat:appcompat, androidx.recyclerview:recyclerview, androidx.exifinterface:exifinterface · [Compare](https://seerepo.com/compare/ankidroid/Anki-Android/vs/bumptech/glide)
- [microg/GmsCore](https://seerepo.com/r/microg/GmsCore/built): androidx.activity:activity, Jetpack Compose, activity-compose, androidx.core:core, androidx.appcompat:appcompat, Google, androidx.recyclerview:recyclerview · [Compare](https://seerepo.com/compare/ankidroid/Anki-Android/vs/microg/GmsCore)
- [topjohnwu/Magisk](https://seerepo.com/r/topjohnwu/Magisk/built): androidx.activity:activity, Jetpack Compose, activity-compose, lifecycle-runtime-compose, Google, com.jakewharton.timber:timber · [Compare](https://seerepo.com/compare/ankidroid/Anki-Android/vs/topjohnwu/Magisk)

## Frequently asked questions

### What language is Anki-Android written in?

Anki-Android is written in Kotlin, with 279,395 written lines.

### What framework does Anki-Android use?

Anki-Android is built with androidx.activity:activity, Jetpack Compose, activity-compose, fragment-ktx, lifecycle-process, lifecycle-runtime-compose, org.jetbrains.kotlin:kotlin-stdlib, and androidx.core:core.

### What services does Anki-Android use?

Anki-Android uses androidx.sqlite:sqlite-framework.

### Does Anki-Android have tests?

Yes. Anki-Android has 867 test files and is tested with fragment-testing, hamcrest-library, junit-jupiter-params, junit-platform-launcher, junit-vintage-engine, kotlin-test-junit, kotlin-test-junit5, org.jetbrains.kotlin:kotlin-test, roborazzi, roborazzi-accessibility-check, roborazzi-junit-rule, rules, ui-test-junit4, ui-test-manifest, androidx.test.ext:junit, org.robolectric:robolectric, org.hamcrest:hamcrest, androidx.test:core, io.mockk:mockk, androidx.test.espresso:espresso-core, org.junit.jupiter:junit-jupiter, org.mockito.kotlin:mockito-kotlin, org.mockito:mockito-inline, com.google.testparameterinjector:test-parameter-injector, app.cash.turbine:turbine, androidx.work:work-testing, androidx.test.uiautomator:uiautomator, androidx.test.espresso:espresso-contrib, androidx.arch.core:core-testing, androidx.benchmark:benchmark-macro-junit4, and androidx.test:runner.

### Which repos have a stack like Anki-Android's?

The ones that share most of its stack: signalapp/Signal-Android, material-components/material-components-android, and TeamNewPipe/NewPipe.

## 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.
