Closed xiaoyvyv closed 1 year ago
StringPool should be created/merged at first because styled strings should be placed at the top row. On your mod either you will loose styled strings or duplicate strings will be created.
long start = System.currentTimeMillis();
mergeModules();
long elapsed = System.currentTimeMillis() - start;
StringPool should be created/merged at first because styled strings should be placed at the top row. On your mod either you will loose styled strings or duplicate strings will be created.
* Can you share your apk files? * I am not testing it on android platform right now, if you can please record elapsed time for merging like
long start = System.currentTimeMillis(); mergeModules(); long elapsed = System.currentTimeMillis() - start;
It takes about 120 seconds on Android, but it's much faster on my Mac.
Your link is not working
Your link is not working
It takes about 120 seconds on Android, but it's much faster on my Mac.
Do you mean 12 seconds? I have tested with huge apk with 125Mb (2.5M resources) the max time recorded is 25 seconds
Check the latest commit, it has much improvements
It takes about 120 seconds on Android, but it's much faster on my Mac.
Do you mean 12 seconds? I have tested with huge apk with 125Mb (2.5M resources) the max time recorded is 25 seconds
Check the latest commit, it has much improvements
I ran the test again using the latest commit, and the improvement is significant. It now only takes 20 seconds. That's fantastic!
When the resource.arsc file of base.apk is very large, such as 10-20MB. Merge apks will take a significant amount of time, especially when running on Android devices. I found that the following area can be optimized. If the baseModule exists, it can be directly used as the root node of Merge. Instead of creating a new module and merging the baseModule.
I have made some rough modifications, there may be issues