/ ROADMAP.md
ROADMAP.md
1 ## Automatic Remapping of ResourceId 2 We currently prevent resourceIds from changing, by utilizing the `public.xml` file which makes the resources public, but 3 then prevents them to be used in some locations (`android:scheme`). The correct fix would be to record the resourceIds 4 and use dexlib2 (no regular expressions) to rewrite them to the new resourceId after the `resources.arsc` is built. 5 6 This would be a lookup table of old->new resourceIds leveraging the API of dexlib2 to do the replacement. Doing this 7 properly would nullify the need to do [#191](https://github.com/iBotPeaches/Apktool/issues/191) 8 9 Suggestions: [#244](https://github.com/iBotPeaches/Apktool/issues/244) 10 Discussions: [#2062](https://github.com/iBotPeaches/Apktool/issues/2062) 11 12 ## Implicit Qualifiers Cleanup 13 Currently we have a mismatch between reading the folders and reading the qualifiers which leads to a mismatch between 14 implicit qualifiers like version (-v4, v13, etc). 15 16 This was first spotted in bug [#1272](https://github.com/iBotPeaches/Apktool/issues/1272). 17 18 This was attempted to be fixed in [!1758](https://github.com/iBotPeaches/Apktool/pull/1758/files), but had to be 19 reverted due to [this](https://github.com/iBotPeaches/Apktool/issues/1272#issuecomment-379345005). 20 21 Suggestions: [#2237](https://github.com/iBotPeaches/Apktool/issues/2237) 22 23 ## Qualifier Plugin System 24 For some OEMs, past and present. They re-use qualifiers that AOSP ends up using. This with CTS is becoming very 25 rare and pretty much a problem of the past, but now custom modifications and more "off the cuff" OEMs are doing 26 it. 27 28 Apktool can't do anything because it stays true to AOSP. It would need a plugin system that controls how to 29 read the qualifiers. Or even an override file. 30 31 Suggestions: [#1420](https://github.com/iBotPeaches/Apktool/issues/1420), [#2474](https://github.com/iBotPeaches/Apktool/issues/2474) 32 33 ## Non-reference Resources 34 Some applications may shove resources into the /res folder, but have no references to them. Apktool follows 35 the resource table, so these files are effectively abandoned. 36 37 Crawling the filesystem for non-checked files would be slow especially having to cross check with already 38 parsed files. 39 40 Suggestions: [#1366](https://github.com/iBotPeaches/Apktool/issues/1366) 41 42 ## Multi-threaded 43 Applications are getting larger as well as frameworks, but Apktool is getting slower. 44 45 Suggestions: [#2685](https://github.com/iBotPeaches/Apktool/issues/2685) 46 47 ## Android Support 48 Folks have requested running Apktool on device itself. This has been a challenge due to the arch requirements 49 that would be placed on the aapt2/aapt binaries. 50 51 Suggestions: [#2811](https://github.com/iBotPeaches/Apktool/issues/2811) 52 53 ## Split APK Support 54 Applications are further getting split on qualifiers. Apktool has been built on the assumption of one apk. 55 56 Suggestions: [#2283](https://github.com/iBotPeaches/Apktool/issues/2283), [#2218](https://github.com/iBotPeaches/Apktool/issues/2218), [#2880](https://github.com/iBotPeaches/Apktool/issues/2880) 57 58 ## Dummy Resources 59 Folks want the ability to stop the auto generation of dummy resources. 60 61 Suggestions: [#2683](https://github.com/iBotPeaches/Apktool/issues/2683), [#2104](https://github.com/iBotPeaches/Apktool/issues/2104) 62 Pull Request(s): [#2463](https://github.com/iBotPeaches/Apktool/pull/2463)