DexPatcher / dexpatcher-gradle

Modify Android applications at source-level in Android Studio
https://dexpatcher.github.io/
GNU General Public License v3.0
83 stars 17 forks source link

Add multidex support from version 1.2.0-beta1 #12

Closed gurt-il closed 7 years ago

gurt-il commented 7 years ago

Add comparability for the new multidex option form dexpatcher-tool

Thanks a lot

Lanchon commented 7 years ago

lol that was fast! so there's actually people using DexPatcher besides me?? that's new... :)

well the gradle plugin has some issues:

yes, my plugin could be made to support multidex. it could be ported to a newer android plugin too. but for now i have no need real for multidex in the plugin. several other things i deem more important. one such things is creating a 'standalone' plugin that does not depend on google's. it would be very easy to set up but would only support patching code, no support for manifests or resources. another is a solution to spoof signatures. yet another would be a way to apply patches directly on the phone. another is adding features to DexPatcher-tool, i would like to add many. clearly this is too much work for one person.

gurt-il commented 7 years ago

Hi Lanchon

I'm actually using your plugin for long time ago and it's was VERY useful. Currently, I'm working with the original plugin on my code with BuildTools 24. The only limitation I faced with it's the gradle plugin version (It's must be 1.2.3 version).

I understand the problem that you have mentioned, but it's my best way to develop an addon to exist application (it's very long story) with (almost) normal android studio environment. From my point of view, only small work are needed to add the multidex support that his impotent to me due to last changes in my code that passed the 8MB limitation. It's funny that I faces this problem first time this week, and when I went to your site I saw that you just added this ability :)

If you don't care, I will be happy to help on the development of the addon and maybe also on the development of the tool himself.

Let me know if there is any specification I should know before I starting to work on it.

Thanks Ysrael

Lanchon commented 7 years ago

well if i remember correctly the gradle plugin already does some multidex stuff, like generating a multidex apk library for example. and it's absolutely great that you want to help with the project!!

but...

i think you are in luck. your use case is fairly simple if i understand you correctly: you just want to add to a unidex app, making it multidex. you might not need a new plugin for this at all.

in your case the build proceeds until dexpatcher runs, and that triggers a dexlib2 error when the pools of the dex file overflow. to make it work:

gurt-il commented 7 years ago

I'm actually doing more stuff in my application (I'm adding about 150 classes to the original code) but I'll try it and let you know.

Thanks Ysrael

Lanchon commented 7 years ago

hi,

multi-dex support in Android Studio is ready! :) https://github.com/DexPatcher/dexpatcher-gradle/releases

and there's also a multi-dex sample to go with it... https://github.com/DexPatcher/DexPatcher-gradle-samples

tell me how it goes, later!