Code Monkey home page Code Monkey logo

anydebug's Introduction

AnyDebug

Change your view attributes without restarting your application.

不需要重启应用,就可以更改View的参数。

About

This software relies on the Xposed Framework, For more API details, visit their website.

本应用依赖于Xposed框架。需要获取更多关于这个框架的信息,请访问他们的官网

Contribution

This software changes view attributes while app's running. It's not quite difficult, but I got many works to do, since there are too many Views and too many attributes per view. Your PR are very welcome.

本应用运行原理是在app运行的过程中,动态修改一些View的参数。虽然说不是很难,但是还是有一定的代码量的,毕竟Android中的View还是挺多的。欢迎PR。

Caution

This application is completely free and 100% open-source. It's just for learning usage. I don't take any responsibilities for the result you make while using this application.

本应用完全开源免费,且仅供学习交流使用。使用者在使用本应用的过程产生的任何后果都与开发者无关。

FAQ

  • App becomes laggy

View tree needs to be traversed to ensure the new-added views can be properly hooked. I tried to hook the onAttachedToWindow method, but it would hook my own dialog as well. Looking for another better solution.

  • Persistent changes behave weirdly, especially in list items

The way to store changes and re-apply them to the origin view is not perfect yet. To locate a view, the id of the view and its parent, and the class name should be unique. But in android apps, view id is not always unique, so some rules may be apply to another view. Be cautious when you use persistent editing, especially in list views.

  • Not working on some apps

Only works on navtive android app. Some views may override onTouchEvent and doesn't call performClick, this module won't work in that situation.

  • 应用变卡了

因为要遍历View树,来保证新添加的View能够被正确地hook掉。我之前尝试过hook onAttachedToWindow,但那会连我自定义的对话框也一起hook。正在寻找更好的方法。

  • 持久化编辑有点怪怪的,特别是在一些列表项中

持久化编辑的方法目前仍未完美。为了在view树中定位一个view,需要知道view的id,以及view的父view的id,还有view的类名。但Android中id在view树中并不是唯一的,特别是在列表里,所以一些持久化规则可能会被应用到其他view上。 请谨慎使用持久化编辑,特别是在一些列表项中。

  • 某些应用中没法使用

只支持原生Android应用。一些控件可能会重写onTouchEvent而不调用performClick方法,这种情况也是没法使用的。

Sample

sample0.png sample1.png sample1.png sample1.png

anydebug's People

Contributors

gitofleonardo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.