New project I have been working on

Search This thread

miked63017

Senior Member
Jan 30, 2011
899
689
St Louis
I put this here because I have only tested with my s5, and its not done yet so wanted a general topic for feedback before putting in a dev section. But please feel free to move this as you see fit moderators.

While playing with making the hotspot mod and other general investigation into things on my s5, it dawned on me that its kind of a PITA to keep things organized. Kitchens do a pretty good job at helping to give you a method to the madness when making ROMs but I haven't found anything too helpful for making mods. So that gave me an idea, I have decided to call it modStudio for now, a place to keep needed tools and a workflow to keep things organized and not chaotic.

This project is far from complete but I think its in a good place now and was hoping to possibly get a little feedback.

I am running on a 64 bit linux machine, and right now that is all that is supported. If you are already building things for android chances are you have a machine like this around already anyway.

I don't have a full tutorial written up, and I would rather spend time adding functionality for now but you can pull down the latest copy by doing:
Code:
git clone https://github.com/miked63017/modStudio.git

There are some examples in the readme, but basically go into the directory that the repo created and source the toolbox file
Code:
source tools/toolbox
This sets up a few commands that I find useful, and hopefully you will too

I will paste what I have in the readme for now, and work on the tutorial as functionality is added, please let me know what you guys think. Any comments, suggestions, requests or contributions are welcome.
 
Last edited:

miked63017

Senior Member
Jan 30, 2011
899
689
St Louis
In the README.md:

This is a tool I made to aid in the process of making mods for Android phones.
I was tired of having multiple tools in different places and wanted to bring everything together with some easy shortcuts.

This should work on any 64 bit linux distro at the moment, but I have only tested on OpenSuse 13.1 since that is what I use.

Things that are assumed:
you are running on linux 64 bit
you have adb correctly setup and in your $PATH
you have aapt and java setup and in your $PATH
you know how to make changes once you have a decompiled apk
A few commands require you to have your phone plugged in, plug it in.

Some general notes for now:
You must always generate a source directory from which files will be used to modify
The source directory always stays untouched, so if you want to start over you can clean your playground and begin again
If you deodex an apk or ar that does not have a .odex it will be basically the same thing as the playWith command
If you have a source dir populated from your phone decompiling will take a while to search for framework files, unless you trim your source dir down


Example usage:
Code:
#setup modStudio, only need to do once
git clone [url]https://github.com/miked63017/modStudio.git[/url]
cd modStudio

#Need to source this file in your shell everytime you want to use modStudio
. tools/toolbox

#Basic workflow working with a stock odexed system image, must be rooted and have busybox installed
#example given for services.jar but should work with any
cleanSource
cleanPlayGround
pullSystemFromPhone
deodex services.jar
decompile services.jar
#make your changes in playground/system/framework/services.jar.out
build services.jar
odex services.jar
installFromPlayground

#Workflow from zip file, assuming already deodexed ROM
cleanSource
cleanPlayGround
pullSystemFromROM romname.zip
playWith services.jar
decompile services.jar
#make your changes in playground/system/framework/services.jar.out
build services.jar
installFromPlayground
 
Last edited:

vinman12

Senior Member
Dec 28, 2011
3,430
4,395
Very nice will check this out when I get some time. Great work this could prove very helpful to the devs.

Sent from my SM-G900P using Tapatalk
 

rocket321

Senior Member
Jan 29, 2009
797
521
Wicked cool! I assume the re-odex happens right on the phone? I need to get a VM setup so I can play with it..

Sent from my SPH-L710 using Tapatalk
 

miked63017

Senior Member
Jan 30, 2011
899
689
St Louis
Wicked cool! I assume the re-odex happens right on the phone? I need to get a VM setup so I can play with it..

Sent from my SPH-L710 using Tapatalk

The re-odex does happen on the phone and the files are pulled back onto the pc so you can install them when ready. The install command puts everything from your "playground" into the right place on the phone. I plan on still making a function to create a flashable zip, but haven't gotten there yet. Even without the flashable part it still makes things a lot quicker for developing and testing. Also plans on storing mods as patch files and scripts to log your work so you can repeat the same processes on different base systems in one command.

Sent from my SM-G900P using XDA Free mobile app
 
  • Like
Reactions: rocket321

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    In the README.md:

    This is a tool I made to aid in the process of making mods for Android phones.
    I was tired of having multiple tools in different places and wanted to bring everything together with some easy shortcuts.

    This should work on any 64 bit linux distro at the moment, but I have only tested on OpenSuse 13.1 since that is what I use.

    Things that are assumed:
    you are running on linux 64 bit
    you have adb correctly setup and in your $PATH
    you have aapt and java setup and in your $PATH
    you know how to make changes once you have a decompiled apk
    A few commands require you to have your phone plugged in, plug it in.

    Some general notes for now:
    You must always generate a source directory from which files will be used to modify
    The source directory always stays untouched, so if you want to start over you can clean your playground and begin again
    If you deodex an apk or ar that does not have a .odex it will be basically the same thing as the playWith command
    If you have a source dir populated from your phone decompiling will take a while to search for framework files, unless you trim your source dir down


    Example usage:
    Code:
    #setup modStudio, only need to do once
    git clone [url]https://github.com/miked63017/modStudio.git[/url]
    cd modStudio
    
    #Need to source this file in your shell everytime you want to use modStudio
    . tools/toolbox
    
    #Basic workflow working with a stock odexed system image, must be rooted and have busybox installed
    #example given for services.jar but should work with any
    cleanSource
    cleanPlayGround
    pullSystemFromPhone
    deodex services.jar
    decompile services.jar
    #make your changes in playground/system/framework/services.jar.out
    build services.jar
    odex services.jar
    installFromPlayground
    
    #Workflow from zip file, assuming already deodexed ROM
    cleanSource
    cleanPlayGround
    pullSystemFromROM romname.zip
    playWith services.jar
    decompile services.jar
    #make your changes in playground/system/framework/services.jar.out
    build services.jar
    installFromPlayground
    3
    I put this here because I have only tested with my s5, and its not done yet so wanted a general topic for feedback before putting in a dev section. But please feel free to move this as you see fit moderators.

    While playing with making the hotspot mod and other general investigation into things on my s5, it dawned on me that its kind of a PITA to keep things organized. Kitchens do a pretty good job at helping to give you a method to the madness when making ROMs but I haven't found anything too helpful for making mods. So that gave me an idea, I have decided to call it modStudio for now, a place to keep needed tools and a workflow to keep things organized and not chaotic.

    This project is far from complete but I think its in a good place now and was hoping to possibly get a little feedback.

    I am running on a 64 bit linux machine, and right now that is all that is supported. If you are already building things for android chances are you have a machine like this around already anyway.

    I don't have a full tutorial written up, and I would rather spend time adding functionality for now but you can pull down the latest copy by doing:
    Code:
    git clone https://github.com/miked63017/modStudio.git

    There are some examples in the readme, but basically go into the directory that the repo created and source the toolbox file
    Code:
    source tools/toolbox
    This sets up a few commands that I find useful, and hopefully you will too

    I will paste what I have in the readme for now, and work on the tutorial as functionality is added, please let me know what you guys think. Any comments, suggestions, requests or contributions are welcome.
    1
    Wicked cool! I assume the re-odex happens right on the phone? I need to get a VM setup so I can play with it..

    Sent from my SPH-L710 using Tapatalk

    The re-odex does happen on the phone and the files are pulled back onto the pc so you can install them when ready. The install command puts everything from your "playground" into the right place on the phone. I plan on still making a function to create a flashable zip, but haven't gotten there yet. Even without the flashable part it still makes things a lot quicker for developing and testing. Also plans on storing mods as patch files and scripts to log your work so you can repeat the same processes on different base systems in one command.

    Sent from my SM-G900P using XDA Free mobile app