rovo89 / Xposed

The native part of the Xposed framework (mainly the modified app_process binary).
Other
7.44k stars 1.47k forks source link

when the Android 7.0 Nougat would be supported by xposed ? #225

Closed yangwuan55 closed 7 years ago

yangwuan55 commented 7 years ago

Just when?

krokofant commented 7 years ago

https://forum.xda-developers.com/showpost.php?p=70773752&postcount=41

So yes, I'm still working on Nougat support, whenever my free time allows it, but I don't have any idea when it will be done. Once it's done, you'll know.

zahidala commented 7 years ago

Honestly it surprised me how people are pushing the dev to release Xposed for Nougat. I mean there was a time when Xposed didn't exist, and people still used the ROMs they installed. Now they won't even install the next version until Xposed is released. The developer of Xposed does this in his/her free time and we aren't paying him/her. For now the only thing we can do is wait.

hassanila commented 7 years ago

@batman38102 We can speed up the development if we donate, and I would absolutely pay for Xposed

zahidala commented 7 years ago

@hassanila97 I'd doubt you guys would wanna donate as much as he gets from his real life job to spend a good few weeks working on Xposed.

rogerclarkmelbourne commented 7 years ago

Its a sad situation, but its unrealistic to expect one developer to maintain this for years on end with no income from it.

I checked and the initial commit was 26th March 2012. (5 Years ago) https://github.com/rovo89/Xposed/commit/396c875e1350a03bc452a0907bb718a6521ce06a

If someone feels passionate about this, they should probably start a Kickstarter campaign to raise a large amount of money to pay @rovo89 for updating this to support Android 7 and probably Android 8 (as that is due out in a few months)

However from what I understand there are significant technical difficulties with the JIT in Android 7+, and its unclear whether it will be possible for a system like XPosed to be compatible with this

Personally, I've had to setup a local build env for LineageOS, so I can make a custom ROM for my phone, in an attempt to add some of the features I miss by not being able to have Xposed But I think its going to be a lot of work for me to do this.

zahidala commented 7 years ago

@rogerclarkmelbourne

"Its a sad situation, but its unrealistic to expect one developer to maintain this for years on end with no income from it."

Exactly, he's doing this for free. Many projects have been abandoned purely because the developer gets tired of doing it without having some sort of motivation. It doesn't help when people are demanding for you to release ASAP.

"I checked and the initial commit was 26th March 2012. (5 Years ago) rovo89/Xposed@396c875

If someone feels passionate about this, they should probably start a Kickstarter campaign to raise a large amount of money to pay @rovo89 for updating this to support Android 7 and probably Android 8 (as that is due out in a few months)"

I'd still like to think that Rovo is working on it for both Nougat and O without expecting a donation. I suppose though someone could start a Kickstarter campaign (I have no idea how to do that neither I know how to handle the campaign).

"However from what I understand there are significant technical difficulties with the JIT in Android 7+, and its unclear whether it will be possible for a system like XPosed to be compatible with this

Personally, I've had to setup a local build env for LineageOS, so I can make a custom ROM for my phone, in an attempt to add some of the features I miss by not being able to have Xposed But I think its going to be a lot of work for me to do this."

He did say that the work to make it work with Nougat is simply too much and he can't give a ETA when he will finish. He wants to make sure it works completely fine. I suppose that might take some time but people are getting impatient unfortunately.

There are alot of things that Xposed has that you can't just cherry pick and put it in your build. I mainly use Xposed for Adblocker and YouTube Background Play. Both are which impossible to get without Xposed. GravityBox as well is useful to me because I still get to keep Stock ROM. The thing is the demand is alot, and if people want it quicker they could pay I suppose?

Irfan-deva commented 7 years ago

waiting......need it badly!! 😟

MartinX3 commented 7 years ago

If Xposed is released for Android 7.x, I will get a strong boner!

By the way, in my opinion, it isn't good, that he doesn't upload his actual work on github. As example, if his HDD crashes, the work is lost and maybe his motivation on further development, too.

And maybe, volunteers may want to help coding.

gpollo commented 7 years ago

I totally agree with @MartinX3, I think the progress should be on, at least, a different branch of this repo. If I could see the work done so far, then maybe I, or others, could lend a hand.

MartinX3 commented 7 years ago

So @rovo89 , is it possible?

jfernandz commented 7 years ago

@TheNiceGuy @MartinX3 you could do forks of this code and keep developing it to Android 7.x and then request for pull your changes. However ... I think you are suggesting that to other devs but you don't know about how to dev the code, me neither, so we must wait, unfortunately.

MartinX3 commented 7 years ago

@WyRe, I know how to develop software and I know what GitHub is. And I know, that @rovo89 is working on the Android 7.x version. @rovo89 mentioned it earlier.

@WyRe, in my opinion he should upload his actuall work. It is only a git commit and a git push. Even there is only small progress, so others could see it and suggest optimizations or use their low level code experience to help him.

@WyRe and in my opinion it doesn't make sense to fork the project like hell without communication with him. In germany we say, that it doesn't make sense to invent the cycle again.

gpollo commented 7 years ago

@WyRe I'm fairly certain that the code contained in this repository it old compared to what @rovo89 has been able to accomplish. Forking it now would be a waste of one's time.

kn007 commented 7 years ago

@MartinX3 Exactly, totally agree. If @rovo89 could upload his work, there will be more people to help him to finish.

rovo89 commented 7 years ago

You can have that opinion - but in the end, it's my own decision whether I want to publish my current WIP or not, and you'll have to respect that decision.

There are a couple of reasons why I won't do that. Working on Xposed isn't really straight-forward, it's an iterative process in which I hardly know what to do next until it's done. That makes it quite hard to work on it with someone else, unless there's some really close communication and common understanding how things should work. Given that my time for Xposed is pretty unreliable, I would not be able to fulfill my part in this. Besides that, I'm a perfectionist. I wouldn't accept any foreign code without very close review to make sure it's "the right way" to implement it. This would also be very time-consuming. It might work if that other person has thoroughly studied how ART works and did a lot of research to understand how Xposed can best be integrated into it. However, my experience shows that even for previous releases (for which the source code is published), there wasn't really anyone who digged into it deeply enough to help analyse and fix some of the issues.

If somebody contacted me saying "hey there, I checked out the ART source code and I think I understood in general how it works. here are some ideas how I would implement Xposed for Nougat it, can I help you somehow?", then I would consider giving it a try, but I believe that just pushing out the current state wouldn't help the project. We would maybe see "some" release really fast by people who compile the code, see that it appears to be working fine and publish it as "their port", despite the issues and things to do that they wouldn't be aware of. So call me selfish, but I wouldn't want to see such a half-finished release.

That said, I'm now at a point where I'm wrapping up some things, reviewing the big amount of changes I've done in the last months and clustering them into individual commits to keep the overview. I think I got some really nice technique working to ensure that the apps can still be compiled with all the optimizations enabled. When a method is hooked, its callers will be deoptimized, but can later be compiled again (with optimizations, but also knowing about the hook). That's possible in Nougat thanks to JIT, which wasn't enabled in previous versions. So it's not just a simple port of Xposed, important parts are actually re-invented. There are still many tasks though before this can work beyond my test cases, so you'll have to be patient and stay tuned!

C3C0 commented 7 years ago

Amen

francescodedomenico commented 7 years ago

I truly believe that the project would benefit a community-driven development. Diving into the code is hard, in my opinion, before anyone could just start browsing the code, we should start documenting it. And I'm not just talking about the Xposed code, for which we would also need some design choices being explained, but also and mostly the ART with all its iterations. Writing a documentation is time consuming, but has to be done. If the community wants to help, that would be a perfect starting point. Just to be clear, I'm not saying that rovo89 should be doing this. What I'm really saying is that a documentation would ease any developer to join and contribute the project with solutions and ideas, and also would avoid the overhead of the "understanding the ART and Xposed" for anyone that has to learn it straight from the code. With a well written documentation more people would setup their development environments and contribute the project with their ideas. rovo89 will always be able to merge any change he finds suitable or to adopt any idea and implement it his way.

A quick edit: Thank you very much for this status update rovo89!

wanam commented 7 years ago

@francescodedomenico A well written documentation about the dev environment already exists, Art documentation should be done by Google, indeed Robert can help doing this but i think it's not the appropriate time, he said he is open to contributions, so if you think you have enough knowledge to help, just PM him your ideas, otherwise let him finish his work and wait patiently.

francescodedomenico commented 7 years ago

@wanam I think you misunderstood my whole intervention.

u2pop commented 7 years ago

rovo89 Welcome Back Bro! Nice To See You Around Here, God Bless You.

softpyscho commented 7 years ago

@rovo89 Thanks For developing the code.There are thousands of people just waiting for xposed to be updated to Nougat.Also why not start a kickstarter to get on to full time development of xposed

mahdy89 commented 7 years ago

@rovo89 cannot thank you for what you are doing for the community! android worth nothing without you.. i need to upgrade my phone..to 3t or oneplus 5...i just want the 3t cause it support marshmallow. am not asking you for a timeline, i just want to know is android 7 or 8 will ever get supported? or the project is already dead ?

imperative commented 7 years ago

@rovo89, thank you for everything you have done, xposed framework is great! A lot of us are really waiting for this release. The app could definitely be paid, it would be no problem! Please consider speeding up this process. This project is just too important to be this slow. It's bigger than you. It's the only framework in existence (including xprivacy) that gives android users the true freedom that the OS should have from the start. (Alternatives don't really measure up.) For example you can set up a specific bounty using bountysource, for certain specific solutions, or for the whole version of the framework. This could either be used to support you (so that you could put in more hours into this), or this could be used to outsource some of the parts.

Also please consider pushing the commits directly to the github faster. There actually are a lot of people that can help and that want to help. You will still have the final say, what to include and what not to include. You could also relatively easily steer the work by giving people smaller tasks, eventually making sure that the overall design will be exactly as you want it to be (just implemented faster). Finally, have you considered hiring a freelancer for doing more mundane tasks/tests? If there was a button somewhere where we could donate for this paid freelancer time, we would happily finance this.

rovo89 commented 7 years ago

You could also relatively easily steer the work by giving people smaller tasks, eventually making sure that the overall design will be exactly as you want it to be (just implemented faster).

This would work for a normal app, where you (should) make a plan before starting to develop. Working on Xposed - especially for new Android versions - is more research than development though. It's a highly iterative process, and I hardly know what the next steps should be.

Finally, have you considered hiring a freelancer for doing more mundane tasks/tests?

I can't remember that there were ever any such tasks. ;)

samdenty commented 7 years ago

@rovo89 You should create a patreon account, I know that I would support your time and effort in maintaining Xposed. (patreon.com/rovo89 is not taken yet, be quick)

vallerydelexy commented 7 years ago

I would support if you have patreon @rovo89

MartinX3 commented 7 years ago

The integration of https://www.bountysource.com would be nice, instead of using a patreon account.

Bountysource is a website for open source bounties and since 2012 also for crowdfunding. Users (called "backers") can pledge money for tasks using micropayment services that open source software developers can pick up and solve to earn the money. It also allows large-scale fundraising for big improvements on the project. It integrates with GitHub using its bug tracker to check if the problem is resolved and connect the resolution with GitHub's pull request system to identify the patch. When the users agree that they are satisfied and the project maintainer merged the proposed changes to the source-code, Bountysource will transfer the money acting as a trustee during the whole process.

It's already integrated in github.com.

samdenty commented 7 years ago

Xposed is now 'unofficially' supported on Android 7.1.2 - xda-developers - github page I would recommend waiting until rovo89 releases the official version though

Quote XDA:

As it is right now, this is not your traditional install of Xposed Framework that needs to be flashed in a custom recovery, and that can be added to a variety of devices. Instead, there has been a unique ART submodule created for AOSP 7.1.2 that enables Xposed Framework functionality to a custom ROM right out of the box. This method has its advantages and disadvantages though, since it’s not something that can be installed on top of your current ROM and users or maintainers need to compile ROMs that support Xposed by adopting these changes.

MartinX3 commented 7 years ago

Thank you for the information, but that's not Rovo89's version. And you need to compile the ROM on yourself and exchange some of its files with the ones of the github repo. It could break something, because their files could be outdatet or not compatible. In my opinion, i would wait, until @rovo89 makes a statement about this. Or until LineageOS or the ROM developer your're using build it in their ROM's.

wbsdty331 commented 7 years ago

I will donate developer. Thanks you @rovo89 !

v1kku commented 7 years ago

@MartinX3 not anymore. Flashed it on top of official LineageOS and it works fine. Obviously ymmv!

z3ntu commented 7 years ago

Now πŸ˜„

rovo89 commented 7 years ago

Yeah. πŸ˜„

MartinX3 commented 7 years ago

Sure? I installed xposed v88 on LineageOS 14.1 with Android 7.1 Nougat. I ticked every module, but every module itself is telling me, that it's not activated. As example, greenify still doesn't allow me to use the xposed features. And I already restarted my phone. Maybe I need to wait for the APP-Update also?

PS: MANY THANKS FOR YOUR WORK!

kn007 commented 7 years ago

@MartinX3 I thing also need app developer upgrade his app.

img_20171009_052929 01 https://www.xda-developers.com/official-xposed-framework-android-nougat/

MartinX3 commented 7 years ago

Thank you for this information! So we wait, until a binary release of 3.1.2 is build. Oops. The app is already on his server. I only saw, that it isn't build as release on github.

kn007 commented 7 years ago

@MartinX3 You are welcome. I have the same problem with greenify. And I also sent an email to ask @oasisfeng about it 5 hours ago.

MartinX3 commented 7 years ago

@kn007 I think many module needs an update. :) Xprivacy ( @M66B ), greenify ( @oasisfeng )... :)

M66B commented 7 years ago

@MartinX3 XPrivacy won't be updated anymore, you can read here why: https://forum.xda-developers.com/showpost.php?p=74089414&postcount=18177

rogerclarkmelbourne commented 7 years ago

@M66B

There's nothing stopping someone else from forking your repo and updating it.

Unless you delete before its forked.

M66B commented 7 years ago

@rogerclarkmelbourne indeed, and I would not have any problem with it, but nobody contributed anything serious to XPrivacy in years, so don't expect too much.

rogerclarkmelbourne commented 7 years ago

@M66B

(LOL) I know the feeling .....