If you provide a list of component owners to Ruler, it can analyze the contributions of certain teams to the size of the overall app. Because of this, Ruler supports gathering and analyzing app size ownership data. Knowing which components contribute to the size of an app is great, but knowing who owns these components is even better. Ruler solves this problem by approximating the size of each class by setting the raw class size in proportion to the size of the DEX file. Because of that, it’s not possible to 100% accurately measure how much a single class contributes to the overall app size. When classes are compressed, some information is shared between class entries inside the DEX file. Because we want to be able to see the impact of individual classes, Ruler parses those DEX files and treats every class like a separate file. On Android, all classes are compressed into one or more DEX files. This task will generate two outputs - a JSON report you can use for further processing and an HTML report you can use to analyze and dig into the data yourself.įigures above are for illustrative purposes only. Ruler adds a simple analyzeReleaseBundle task to your project, which you can use to execute all this logic. Based on this second list, we can now group all files of the app by their source and therefore determine how much each module and dependency contributes to the overall app size. The result of this is a second list of all components and their contents. But how do we determine where they came from? To do that, Ruler scans through all Gradle modules and dependencies included in the build and analyzes which files they contain.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |