{"action":"created","issue":{"url":"https://api.github.com/repos/rovo89/XposedBridge/issues/85","repository_url":"https://api.github.com/repos/rovo89/XposedBridge","labels_url":"https://api.github.com/repos/rovo89/XposedBridge/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/rovo89/XposedBridge/issues/85/comments","events_url":"https://api.github.com/repos/rovo89/XposedBridge/issues/85/events","html_url":"https://github.com/rovo89/XposedBridge/issues/85","id":133305005,"number":85,"title":"Loading XposedBridge.jar from App instead of App_Process","user":{"login":"mariaqur","id":16101129,"avatar_url":"https://avatars.githubusercontent.com/u/16101129?v=3","gravatar_id":"","url":"https://api.github.com/users/mariaqur","html_url":"https://github.com/mariaqur","followers_url":"https://api.github.com/users/mariaqur/followers","following_url":"https://api.github.com/users/mariaqur/following{/other_user}","gists_url":"https://api.github.com/users/mariaqur/gists{/gist_id}","starred_url":"https://api.github.com/users/mariaqur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mariaqur/subscriptions","organizations_url":"https://api.github.com/users/mariaqur/orgs","repos_url":"https://api.github.com/users/mariaqur/repos","events_url":"https://api.github.com/users/mariaqur/events{/privacy}","received_events_url":"https://api.github.com/users/mariaqur/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-12T17:59:49Z","updated_at":"2016-02-12T21:51:53Z","closed_at":"2016-02-12T21:51:53Z","body":"[Question]\r\nHi, I am trying to start XposedBridge.jar from my own app for some research purposes. The module and target app, both will reside inside my project. And I am not planning to hook other apps' methods. \r\n\r\nMy Target : \r\n- Start XposedBridge main method from my own application ( I will modify XposedBridge code such that It removes code related to Zygote). \r\n- XposedBridge will load my module ( The module will hook my application ). \r\n\r\nI need your suggestion in this regard. And please also tell me how can I compile modified XposedBridge with native code ( without app_process modifications ). \r\n\r\nThanks :) "},"comment":{"url":"https://api.github.com/repos/rovo89/XposedBridge/issues/comments/183501445","html_url":"https://github.com/rovo89/XposedBridge/issues/85#issuecomment-183501445","issue_url":"https://api.github.com/repos/rovo89/XposedBridge/issues/85","id":183501445,"user":{"login":"rovo89","id":1573299,"avatar_url":"https://avatars.githubusercontent.com/u/1573299?v=3","gravatar_id":"","url":"https://api.github.com/users/rovo89","html_url":"https://github.com/rovo89","followers_url":"https://api.github.com/users/rovo89/followers","following_url":"https://api.github.com/users/rovo89/following{/other_user}","gists_url":"https://api.github.com/users/rovo89/gists{/gist_id}","starred_url":"https://api.github.com/users/rovo89/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rovo89/subscriptions","organizations_url":"https://api.github.com/users/rovo89/orgs","repos_url":"https://api.github.com/users/rovo89/repos","events_url":"https://api.github.com/users/rovo89/events{/privacy}","received_events_url":"https://api.github.com/users/rovo89/received_events","type":"User","site_admin":false},"created_at":"2016-02-12T21:51:53Z","updated_at":"2016-02-12T21:51:53Z","body":"We can make this very short: You can't used XposedBridge without the native parts (app_process, modified ART libraries).\r\n\r\nIt's a bit like asking taking the seats from your car, putting them into your living room and expecting that you can drive with them. The critical parts of Xposed are in native code, it's not just there to call the main method... Sure, you could try to port all that code to a JNI modules. There even seem to be attempts to do this: https://github.com/alibaba/dexposed For Dalvik, this might be relatively successful, as it's mostly functional (vs. object-oriented) and was left pretty much unchanged for all 4.x versions. However, ART is very object-oriented, very optimized, many vendors and ROM makers do their changes, ... and if you try to change data structures there, you have to invest much work just to get it working on one device. Making it compatible with various platforms, ROMs, Android versions is impossible. That's why I decided to replace the ART libraries. It gives me a known environment, I can influence how AOT compilation is done, and even though there are issues with various vendor-specific stuff, I believe it's the only feasible way."}}