Releases: Stericson/RootTools
RootTools 5.0
This is release 5.0.
With this release comes a number of bug fixes and refinements. This release also resolves some mounting/remounting issues in newer versions of Android.
Additionally, releases are now distributed in an .aar format rather than .jar format.
RootTools 4.2
RootTools 4.2 brings in a number of additional bug fixes from RootTools 4.1
The Core of RootTools has been separated from RootTools and given it's own repository which you can find here:
https://github.com/Stericson/RootShell
This allows RootTools to be a set of Tools for rooted applications and allows RootShell to provide the most basic functionality required for a rooted application. In many cases, as a developer, you may find the additional functionality provided by RootTools useful but there may be cases where you don't want that additional functionality in which case RootShell would be a more ideal choice.
Along with the separation of the Core of RootTools and the introduction of RootShell a number of bug fixes where implemented as well.
Changes
- Support for commands that execute indefinitely, such as top or something else. Simply pass 0 in as the timeout. You can finish or terminate the command by calling cmd.finish() or cmd.terminate() as needed.
- Recompiled against JDK 1.7, should fix some issues with those not running Java 1.8 yet.
Important Note!
When implementing/overriding commandOutput you must make a call to the super method as the last statement in the method. This helps RootTools know that all output has been processed by your application and that it should mark the command as finished. RootShell will terminate the command if all output is not marked as being processed by the time that the command timeout is hit. Making the final call to the super method will help RootShell ensure that all of the output by the command you've executed is processed and will keep your application moving quickly. If you don't want RootShell waiting on you to process the output then just make the super call the first thing in the method.
RootTools 4.1
RootTools 4.1 brings in a number of additional bug fixes from RootTools 4.0
The Core of RootTools has been separated from RootTools and given it's own repository which you can find here:
https://github.com/Stericson/RootShell
This allows RootTools to be a set of Tools for rooted applications and allows RootShell to provide the most basic functionality required for a rooted application. In many cases, as a developer, you may find the additional functionality provided by RootTools useful but there may be cases where you don't want that additional functionality in which case RootShell would be a more ideal choice.
Along with the separation of the Core of RootTools and the introduction of RootShell a number of bug fixes where implemented as well.
Changes
- A problem with the early termination of commands was fixed.
- Problems with switching context and executing specific commands was fixed.
- CommandCapture was removed.
- Command is no longer abstract and the three abstract methods are no longer abstract and should be overridden as needed.
- When implementing/overriding commandOutput you must make a call to the super method as the last statement in the method. This helps RootTools know that all output has been processed by your application and that it should mark the command as finished. RootShell will terminate the command if all output is not marked as being processed by the time that the command timeout is hit. Making the final call to the super method will help RootShell ensure that all of the output by the command you've executed is processed and will keep your application moving quickly. If you don't want RootShell waiting on you to process the output then just make the super call the first thing in the method.
RootTools 4.0 (Beta)
RootTools 4.0 brings in a number of bug fixes for issues relating to SELINUX within Android.
The Core of RootTools has been separated from RootTools and given it's own repository which you can find here:
https://github.com/Stericson/RootShell
This allows RootTools to be a set of Tools for rooted applications and allows RootShell to provide the most basic functionality required for a rooted application. In many cases, as a developer, you may find the additional functionality provided by RootTools useful but there may be cases where you don't want that additional functionality in which case RootShell would be a more ideal choice.
Along with the separation of the Core of RootTools and the introduction of RootShell a number of bug fixes where implemented as well.
Changes
- A problem with the early termination of commands was fixed.
- Problems with switching context and executing specific commands was fixed.
- CommandCapture was removed.
- Command is no longer abstract and the three abstract methods are no longer abstract and should be overridden as needed.
- When implementing/overriding commandOutput you should now make a call to the super method as the last statement in the method. This helps RootTools know that all output has been processed by your application and that it should mark the command as finished. RootShell will wait a period of time (about 10 seconds) before giving up on waiting for all output to be processed and will mark the command as finished. Making the final call to the super method will help RootShell ensure that all of the output by the command you've executed is processed and will keep your application moving quickly. If you don't want RootShell waiting on you to process the output then just make the super call the first thing in the method.
RootTools 3.5
RootTools 3.5 brings official support for Android L.
It also brings support for context switching for ChainFire's su binary. (http://su.chainfire.eu/#selinux-contexts-unconfined)
You can find the available contexts in the enum Shell.ShellContext
You can set the default context (Shell.defaultContext)
You can open a shell by passing in a context to the getShell constructor
You can also switch the context of an existing shell by using the method switchRootShellContext (Using this method will close the current shell and re-open a root shell with the appropriate context)
RootTools 3.4
RootTools 3.4 brings an important bug fix related to detecting su and finding binaries. It also improves the reliability of getPath