rovo89 / android_art

Android ART with modifications for the Xposed framework.
Other
371 stars 211 forks source link

Zenfone2 art(x86) compatibility patch #7

Closed sorgelig closed 9 years ago

sorgelig commented 9 years ago

Here is format-patch: http://pastebin.com/UH4iJQTe I couldn't find where these options are really used, but i've made get/set features working in case if it used in other parts of android framework. Not all added features are used in Zenfone2, but all of them are present in stock oat2dex binary. Without patch, dex2oat refuses to start because of unknown options.

So, far Xposed works ok on Zenfone 2. I've tested it on my xposed module which hooks many system functions.

May i release pre-injected (this is the only option for Zenfone2 due to locked bootloader) xposed as a whole system.img to XDA for public test? Would be good to have feedback from x86 system.

rovo89 commented 9 years ago

Thanks! I'm wondering: If these features aren't supported by AOSP ART anyway - is there any benefit from including parsing and remembering them? Are they checked somewhere, passed to the compiler or something like that? If not, how about simply ignoring unknown features?

By the way, those features seem to be available in the master branch of ART, but the whole handling is completely different there.

sorgelig commented 9 years ago

You can simply ignore these features. It works. But you have to accept them as a dummy anyway. I also don't know how these features used. GetFeatureString() can be called from anywhere outside, so I've thought it wouldn't hurt to pass them there. Actually, i think, it's worth to modify the code to accept any unknown feature, so dex2oat will be able to start on more devices.

So, may i go to upload system.img with preinstalled Xposed? I want to release it in Zenfone 2 sub-forum (not Xposed sub-forum) because it's obviously only for Zenfone 2 ZE551ML. I think, some x86 public testing will help you make official x86 release.

pylerSM commented 9 years ago

I think you patch should be merged in Xposed itself. You did great job, Samsung, LG users need somebody like you to work around ART changes by these OEMs :)

rovo89 commented 9 years ago

Actually, i think, it's worth to modify the code to accept any unknown feature, so dex2oat will be able to start on more devices.

Yes, that's what I thought. That's pretty easy to do, simply remove the error handling (or maybe replace it with a warning).

Anyway, feel free to post your system.img. As long as you support it yourself and give credit, that's fine for me.

rovo89 commented 9 years ago

Btw, I know that Xposed is working fine on x86, I use Genymotion sometimes. Unfortunately, their drop-to-flash feature doesn't work very well. It just extracts the files to /system instead of running the updater-script/update-binary, so the files get wrong permissions...

pylerSM commented 9 years ago

Can anybody recompile xposed with removed error handling(accept any feature)?

pylerSM commented 9 years ago

This patch is useful: https://github.com/arter97/android_art/commit/e34babdfc0aa77101d77991a1ccdca68d3ba9069

Maybe merge it?

zeezoo788 commented 4 years ago

Here is format-patch: http://pastebin.com/UH4iJQTe I couldn't find where these options are really used, but i've made get/set features working in case if it used in other parts of android framework. Not all added features are used in Zenfone2, but all of them are present in stock oat2dex binary. Without patch, dex2oat refuses to start because of unknown options.

So, far Xposed works ok on Zenfone 2. I've tested it on my xposed module which hooks many system functions.

May i release pre-injected (this is the only option for Zenfone2 due to locked bootloader) xposed as a whole system.img to XDA for public test? Would be good to have feedback from x86 system.