MCPcopy Index your code
hub / github.com/BobbleKeyboard/Dexter

github.com/BobbleKeyboard/Dexter @1.0.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.6 ↗ · + Follow
63 symbols 118 edges 16 files 21 documented · 33% updated 7y ago★ 44
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Dexter

A utility for managing your MultiDex enabled projects. Ever got java.lang.NoClassDefFoundError while using MultiDex features. This happens due to the reason that the classes needed for starting your app not ends up in your Primary Dex. The ones your app uses on startup time needs to be in the first one. If it’s not – you get that error.

What is the solution?

So for having your classes you need for starting up you create a multidex.keep file in your project’s root directory. After creating this file, you add the class names as shown following and the your app finally launches well.

orp/ardnahcimor/ultidex_sample/TestNoClass
orp/ardnahcimor/ultidex_sample/MyClass

What Dexter do?

Dexter helps in following to major things:

  • Manage the multidex.keep file
  • To validate what goes in your Primary Dex. You can have look to list of whole classes which the dex contains.

Validating the Dex Files

For validation, Dexter consist of a gradle plugin which gives you an insight to the list of classes going in your multiple dex files. Configuration is very simple:

In your project level build.gradle:

Core symbols most depended-on inside this repo

readInt
called by 37
dexter/src/main/java/com/bobble/dexter/DexterDefaultTask.java
readShort
called by 5
dexter/src/main/java/com/bobble/dexter/DexterDefaultTask.java
configure
called by 4
dexter/src/main/java/com/bobble/dexter/core/Dexter.java
readByte
called by 2
dexter/src/main/java/com/bobble/dexter/DexterDefaultTask.java
writeToFile
called by 2
dexter-processors/src/main/java/orp/ardnahcimor/ultiprocessor/PrimaryDexProcessor.java
parseAndVerifyHeader
called by 1
dexter/src/main/java/com/bobble/dexter/DexterDefaultTask.java
readBytes
called by 1
dexter/src/main/java/com/bobble/dexter/DexterDefaultTask.java
verifyMagic
called by 1
dexter/src/main/java/com/bobble/dexter/DexterDefaultTask.java

Shape

Method 47
Class 15
Enum 1

Languages

Java92%
Kotlin8%

Modules by API surface

dexter/src/main/java/com/bobble/dexter/DexterDefaultTask.java24 symbols
dexter-processors/src/main/java/orp/ardnahcimor/ultiprocessor/PrimaryDexProcessor.java10 symbols
dexter/src/main/java/com/bobble/dexter/core/Dexter.java9 symbols
dexter/src/test/java/com/bobble/dexter/DexterPluginTest.java5 symbols
dexter/src/main/java/com/bobble/dexter/DexterPlugin.java2 symbols
app/src/test/java/orp/ardnahcimor/ultidex_sample/ExampleUnitTest.java2 symbols
app/src/main/java/orp/ardnahcimor/ultidex_sample/MainActivity.java2 symbols
app/src/androidTest/java/orp/ardnahcimor/ultidex_sample/ExampleInstrumentedTest.java2 symbols
dexter/src/main/java/com/bobble/dexter/models/TypeIdItem.kt1 symbols
dexter/src/main/java/com/bobble/dexter/models/ProtoIdItem.kt1 symbols
dexter/src/main/java/com/bobble/dexter/models/MethodIdItem.kt1 symbols
dexter/src/main/java/com/bobble/dexter/models/FieldIdItem.kt1 symbols

For agents

$ claude mcp add Dexter \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact