馬上加入Android 台灣中文網,立即免費下載應用遊戲。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
本帖最後由 sean50301 於 2015-2-15 00:23 編輯
Xposed Framework For Lollipop (Android 5.0)
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*
* Submitting bug reports on beta builds is the leading
* cause of male impotence.
*/
*刷機自有風險,一切後果請自負*
*不適用Samsung Stock ROM*
苦等很久的神器Xposed框架終於支援棒棒糖了!不過目前還位於Alpha階段,本人目前也在測試中,以下為來自XDA的報導,作者rovo89的回應。
報導網址: Xposed Framework for Android Lollipop is Here!
原文網址: [OFFICIAL] Xposed for Lollipop
Xposed Q&A
Why did it take so long? ART has been published more than a year ago!
First of all – many people keep asking for ART support. Lollipop has far more changes than that, such as even stricter SELinux policies, 64-bit ROMs and architecture changes that you would expect from a major release. And of course ART itself is constantly being improved; there are big differences between ART for KitKat and ART for Lollipop.
So one reason is the big complexity, which required many, many hours of work for research, development and testing.
Another reason is that there are other things in my life than Xposed, so there have been weeks or even months in which I have hardly even looked at the code at all.
Do we need to rewrite all the modules?
No, the Xposed API is pretty much unchanged. Xposed abstracts all the details, so modules don’t need to care whether they’re running on Dalvik or ART. Many modules will actually work without any changes, especially those which modify the behavior of user apps. Modules targeting the system behavior might need to be adjusted to the new Android framework code, which isn’t caused by ART, but simply by architecture and code changes that happen between any two Android releases. The most significant one is that the code for system services has been moved to a separate file. For most of the affected modules, this can be solved by a little refactoring (moving code to a different place).
Is it actually working?
Yes! At least for me, it’s working fine on my daily device (Nexus 5 on CM12) and also on my Nexus 9 (paid by XDA – thanks!). The phone is stable as usual and apps are working fine. And obviously, the modules and their hooks/resource replacements are working fine as well, otherwise there would be no point in releasing something.
But then why is it an alpha version?
Because there have been huge changes since the last stable release that need to be tested by people who know how to use a recovery, escape from boot loops and report bugs properly. I strongly advise newbies to wait until Xposed has been tested by enough experienced people.
There are also some edge-cases which haven’t been tested yet, such as hooking JNI (native) methods and methods that are being executed at the time of hooking them.
I want to install it. Now! What do I have to do?
Make sure that you’ve read my words above and you’re familiar with your phone’s internals. Obviously, you need to be on a Lollipop ROM and have a good backup of your data. For now, I will only publish the ARMv7 version. 64-bit is more complex, so let’s try the “easy” variant first.
For now, the installation has to be performed manually in a custom recovery. Flashing the zip file will install:
app_process32_xposed and some symlinks
libexposed_art.so
libart.so and some related binaries + libraries (based on 5.0.2, enhanced with support for hooking etc.)
XposedBridge.jar (now stored in /system/framework)
Backups of existing files will be created automatically and could be restored later.
It doesn’t work/I don’t like it! How can I uninstall it?
The easiest way is to restore a backup or flash the system partition. A zip file for uninstallation has yet to be created.
Why do you replace ART files on my device? That’s more invasive than on Dalvik, will cause significant performance issues and will be unstable!
I have written down some reasons on GitHub. Yes, it’s more invasive, so I have tried to avoid it for a long time, but from a technical and support-oriented point of view, I think it’s the better option.
Less performance than original ART? Probably, as I had to disable some optimizations to make certain kinds of hooks possible. However, this affects only a fraction of all methods and even for those, the performance loss is certainly not significant or noticeable, if even measureable. There are still thousands of other optimizations performed by ART, and I tried to disable as few as possible while providing as much flexibility as possible.
Stability is fine as mentioned above. Compared to the approach I used for Dalvik (modifying the runtime’s internal data structures from app_process), I’m even pretty sure that replacing the libraries completely is a much more reliable way. I could integrate my changes into existing code cleanly and reuse related functions, whereas many hacks and assumptions would be needed for other ways.
Will you finally make the source code public?
Sure, you will find it on GitHub very soon after the release of the alpha version, in a separate branch for now.
Does this mean that older Android version are no longer supported now?
No! The new code compiles on all 4.x versions of Android, and just need to be tested before a unified release. But first, I need to be sure that it’s working fine for Lollipop. Possibly, ART support could be backported to KitKat, but that’s of less priority.
How can I thank you for your work?
Many people have asked for ways to donate a few bucks, so I have set up a donation page now.
How much do I need to donate for you to add feature X or a module that does Y?
That’s not donating, that’s paying somebody in expectation of future work. I’m not interested in freelancer jobs.
依作者所言,目前應該是能夠正常運行的,不過從KK跳到LP做了太多的變動,所以才暫時宣告Alpha版本。 目前框架並不支持由App裝入,所以必須自己手動由Recovery刷入。
裝置需求
-取得Root權限
-運行 TWRP 2.7+ or CWM 6.0.4.7+
-Android 5.0以上( 非運行LP請勿安裝)
-Samsung官方ROM會造成Bootloop,請勿安裝
安裝步驟
1.下載附件(兩個都需要!)
2.安裝Apk檔案,並開入Recovery中刷入zip檔
3.重新開機
歡迎各位測試過後來分享心得! 目前尚無法靠App安裝/反安裝,所以安裝以後想要解安裝的朋友只能靠還原ROM或是等待作者做出反安裝的腳本。
自身測試
app_process為顯示錯誤,是可以正常運作的。目前許多模組無法運行,如知名的Greenify、XPrivacy....,所以個人其實沒有很想用,想知道目前有哪些模組可以使用的話可以參考 這裡。
您好!您暫時不能瀏覽帖子的全部內容,請 登錄 | 沒有帳號? 註冊 |
framework, Android, Android, Android, Android, Android, Android, Android, Android, Android, Android, Android
評分
-
查看全部評分
|