DIRECT SMALI TO JAVA CONVERTER(This is a work-in-progress. Hop in if you can help!)
Welcome guys!
This project is born because there isn't any reliable way to convert a bunch of smali files into something you can really import into eclipse and compile away. I've lost a few projects in a recent 1 TB HDD crash and man, it wasn't pretty to see I couldn't even get them back with JD-GUI or something. I've done the same with a few .NET projects of mine, so why can't I on Android? you can, but sometimes the tools (JD-GUI or JAD) go nuts and attempting to fix them just gives you a headache so...
Being a smali modder for quite some time, I managed to realize that the entire smali code, if analyzed correctly, it can be converted back to java. We mentally do it when we make smali mods, all I'm attempting to do is to automate the process and make it easier for everyone. Also, it would be really useful to be able to recompile a few Jars and APKs in order to fix device bugs (which is also another reason why I'm working on this).
Some of you would say there is already JD-GUI and JAD, but they're not a real true 1:1 conversion and also most of the times they're not compile-able. Also, There's JEB Android Decompiler but no way I'm gonna pay such a price for something I've been doing mentally and that I can automate with a script made in about a week or a few months. The tool could be great, but the price is too high and my own country's restrictions don't allow me to buy it even if I ever get the money.
The idea here, is to make an app that can translate Smali to Java, directly. Of course, it requires a bit of analysis. It needs to analyze the class directives, the methods and their prologue (parameters, declaration, etc), class annotations and method instructions. So far, I've managed to develop most of the analyzer with a few basic instructions set up for demo purposes.
Of course, I know it needs a bit more work: some variables/instructions don't appear, types are incomplete or missing, etc. But that's why I'm here: I can work on this alone, but, first, it wouldn't be fair. Also, I'm human and by default I have bugs, so I might skip something and make the code go bogus and stuff. And finally, I'd like to request the help of the community. I made this project to see if there's enough attention and contribution from the smart people here, and if there is, I'm gonna give it all to make this project do what it says, 100% error-free.
Note: IT NEEDS .NET FRAMEWORK 3.5. Yeah, and VS 2012. I assume you can make it work with VS2010 or I can make a version soon if there's enough interest, or heck, even Mono as long as it has Linq (I make heavy use of it). The idea is to make a good, open-source parser you can compile even on an arduino with Mono and it will work. But for now, this will have to do. It is my own code and I decided to share it to see if there's interest. If there's enough, I'll do everything I can to provide the tools needed for you guys to help me make this project a reality.
Also, it seems it works with SharpDevelop, so you can compile it under Linux too!
How to contribute:
Source code (active Github): https://github.com/darkguy2008/smali2java
IRC Channel: #smali2java in irc.freenode.net . You can also join us in development chit-chat through web IRC client here.
Fork away!
Well, hoping to attract the attention of you hackers 'round here
- DARKGuy
XDA:DevDB Information
Smali2Java, a Tool/Utility for the Android General
Contributors
darkguy2008
Version Information
Status: Testing
Created 2013-12-31
Last Updated 2014-01-04
Reserved
Thanks for your effort. May I request a small readme or setup guide as I'm generally a Linux user trying this out on my Windows machine?
Sent from my SAMSUNG-SGH-I727 using Tapatalk
This is great, really interested in this, and is the project open source?
robcore said:
Thanks for your effort. May I request a small readme or setup guide as I'm generally a Linux user trying this out on my Windows machine?
Sent from my SAMSUNG-SGH-I727 using Tapatalk
Click to expand...
Click to collapse
Hello!
Oh, sure, here's a small resume but if you need more help don't hesitate to ask
First you need to install Visual Studio 2010 or Visual Studio 2012, I don't know if the express editions work, but they should. Then, if you use VS2010, you need to install the 4.5 .NET Targeting Pack for VS2010 which you can find on the MS website. If you install VS2012, it comes with it preinstalled.
Then, I assume you can double-click the .csproj (project file) and it'll open inside a blank solution that will ask you to save before you can compile it (press F5 to build & run). Also, make sure to edit Program.cs and modify it where it says to edit and put the absolute path of a smali file of your choice (for example, C:\users\you\desktop\someclass.smali). There's no need to put double-backslashes due to the "@" before the string literal.
Also, I think it could also work with .NET 3.5 or 4.0, but I didn't test it as I was hesitant to make something that I could publish on here. Over the next few days I'll keep working on it and keep you guys updated
ricky310711 said:
This is great, really interested in this, and is the project open source?
Click to expand...
Click to collapse
Thanks for your interest! I'm glad and yes! you can download the whole source code and binary from the Download section here in the black top bar over the first post. That's the idea open-source and easy to understand!
darkguy2008 said:
Thanks for your interest! I'm glad and yes! you can download the whole source code and binary from the Download section here in the black top bar over the first post. That's the idea open-source and easy to understand!
Click to expand...
Click to collapse
Thanks will definately check it out when I get home!
Thanks so much, trying it now!
Sent from my SAMSUNG-SGH-I727 using Tapatalk
Alright, I finally learned how to use GitHub (it wasn't that hard... yet, lol), so here's a link for you all to try (it's in the main post, too): https://github.com/darkguy2008/smali2java
Also, I modified the code a bit... removed the whole switch/case stuff for each instruction and changed it to functions. Also, SmaliVM is now the main class where the translation to Java happens. I've also made a "buffer system" because, in smali, you need to process a lot of lines to create one Java line, so every smali line adds up stuff to the buffer (if needed) and it "flushes" on each .line directive. So far, so good.
Fork away and I'm eager to see your pull requests!
darkguy2008 said:
Alright, I finally learned how to use GitHub (it wasn't that hard... yet, lol), so here's a link for you all to try (it's in the main post, too): https://github.com/darkguy2008/smali2java
Also, I modified the code a bit... removed the whole switch/case stuff for each instruction and changed it to functions. Also, SmaliVM is now the main class where the translation to Java happens. I've also made a "buffer system" because, in smali, you need to process a lot of lines to create one Java line, so every smali line adds up stuff to the buffer (if needed) and it "flushes" on each .line directive. So far, so good.
Fork away and I'm eager to see your pull requests!
Click to expand...
Click to collapse
404 not found?
ricky310711 said:
404 not found?
Click to expand...
Click to collapse
Whoops, sorry, fixed! stupid reply box, it ate the "va" in my "java" lol.
It's also corrected in the main post
Very interesting, i can't find a word to say! Congrats man and thanks very much!
http://www.xda-developers.com/andro...onverter-makes-smali-more-developer-friendly/
Good luck with your project
yashade2001 said:
Very interesting, i can't find a word to say! Congrats man and thanks very much!
Click to expand...
Click to collapse
thanks for the support! I'm glad you're interested! any kind of help is welcome
eagleeyetom said:
http://www.xda-developers.com/andro...onverter-makes-smali-more-developer-friendly/
Good luck with your project
Click to expand...
Click to collapse
Oh wow! this is great!! thank you very much!! :laugh::victory: these kind of things really give a lot of motivation to keep projects going! :good: love the review, hehe
I had so much trouble with small files before. I don't really work with them much now. Wish that this was there to help me. Keep it up!
Excellent work man! Confirmed working with SharpDevelop + .NET 4.0 too, 3.5 is not possible since some namespaces used are not available prior to 4.0.
Btw there seems to be a bug in SmaliLine.cs, line 135 where the value 0 supposed to be 1, otherwise keep getting index out of bound error.
Code:
if (sWords.Length < [B][COLOR="Red"]1[/COLOR][/B])
Also i did some modification to the main function, so there is no need to recompile everytime, now i can simply run in in command prompt or with batch file.
Code:
if (args.Length == 0)
{
Console.WriteLine("ERROR: No Input File!");
Environment.Exit(1);
}
String sFile = args[0];
Really hope to see this project get more usable soon. Good Luck!
thehacka1 said:
I had so much trouble with small files before. I don't really work with them much now. Wish that this was there to help me. Keep it up!
Click to expand...
Click to collapse
Me too haha, smali files are a headache... they're kinda easy to understand, but man aren't they harder to read? thanks for the support!
codelover said:
Excellent work man! Confirmed working with SharpDevelop + .NET 4.0 too, 3.5 is not possible since some namespaces used are not available prior to 4.0.
Btw i did some modification to the main function, so there is no need to recompile everytime, now i can simply run in in command prompt or with batch file.
Click to expand...
Click to collapse
Hey man, thanks a lot! It's awesome to know it works cross-platform now don't worry, I just pushed a few commits and lowered the framework version, I assume you can test with 3.5 now.
Also, thanks for the code, I just pushed it to the main repo. I actually refactored a few things, hopefully it's easier to understand and handle now. Also, it now works in a buffer-like way so with some work, it will be able to handle lots of smali instructions in a single Java line as it should be
very interested with this project.. hope it will be a simple to use..
This is awesome! I've been working with MIUI for quite some time now, and their utter lack of source code is both frustrating and difficult to work with. Porting eventually works, but for my current ROM, theirs is based on 4.2.2, where the US version went from 4.1.2 to 4.3. So, it works, but it's still not 100%. I'm going to get set up for this and see what I can do with actual source for some of the screwed frameworks.
As I haven't even downloaded anything yet...how crazy difficult would it be to do a whole .jar or .apk...or ROM using this?
petrukgrinder said:
very interested with this project.. hope it will be a simple to use..
Click to expand...
Click to collapse
Thanks for the support! that's one of the main objectives: it should be
digitalhigh said:
This is awesome! I've been working with MIUI for quite some time now, and their utter lack of source code is both frustrating and difficult to work with. Porting eventually works, but for my current ROM, theirs is based on 4.2.2, where the US version went from 4.1.2 to 4.3. So, it works, but it's still not 100%. I'm going to get set up for this and see what I can do with actual source for some of the screwed frameworks.
As I haven't even downloaded anything yet...how crazy difficult would it be to do a whole .jar or .apk...or ROM using this?
Click to expand...
Click to collapse
Yeah man I feel your pain, I also have the same issue with my ZTE device. Of course the main idea is to be able to get back code from your own APKs-JARs but if it works for fixing bugs or allowing more ports on other devices, awesome.
For now the app isn't even usable, it's a bunch of code which tries to translate maybe two or three smali instructions to java but it's not ready for even a small APK. I assume that the fire test should be trying to convert a whole jar file or two, but it could take maybe a few months for it to do that, depending on how much work the project gets from the community.
hello im also tried to do something like this converter but im stack at "if for etc" also i found this http://forum.xda-developers.com/showthread.php?t=2430413 is very good .
i tried to to talk with developer to help him but no answer yet
Related
It been a couple of weeks since i started the Cyanogen Updater - which made it to market in less than 24 hours. It was on everybody's TODO list and it just took one thread being opened to get it done.
Lets try and pull off another miracle....
LETS GIVE ANDROID REAL OBEX SUPPORT
Thanks to the openOBEX guys we have a command line tool to do the job - but that ain't quite good enough.
The average user doesn't want to have to type - thats barbaric in this day and age (personally i love it, but i am a little bit weird)
We have something to build on - it is already integrated in to cyanogens roms
We have two real options - include the required tools or just make the gui access the tools - either way, it can be done.
Yes, there is already Bluex... But why should we pay for something that the phone should already have???
If you are with me - post here. If you want to be a coder, tester, art-guy or just support us with a few thanks this is where to do it
You can PM me here or email me at [email protected]
Google Code
Bluetooth Stack Development Thread
OpenOBEX Thread
OpenOBEX @ Gitorious
Cyanogen's Experimental Branch
i will hellp you out a little bit with bugfiuxes and so but my primary thing is the updater
im fairly new to the whole android and dont know much but im willing to test. ive been testing CM roms since he started coming out with them.
This should be pretty simple, in theory anyway. All we technically have to do is have something that browses thru the filesystem (think SUFBS), and then when you click a file initiate the shell commands necessary or openobex. For recieving there could be a seperate tab at the bottom that when you switched to it it would open the socket to receive a file.
Art guy - reporting in!
Will lend my support whenever possible. As always, great to see more community oriented efforts like this. Once you guys get the app to a working point, I'll be happy to do some artwork for it like the CM Updater thread. Hopefully we can do this again fast.
great to have you on board again prash
i was hoping u n matt would find this thread
anyone who wants added to the google code administrator list - let me know and it shall be done
GOD bless you ALL!!
im sure when cyanogen sees this HE will bless us
im realloy glad to see another project, especially one as useful as this!
thanks....
all we need is some half-decent coders and we will be all set
it is theoretically very simple....but with time it will become more and more complex with extra features hopefully
Im going to jump right in and be THAT guy ... what is open obex?
OBEX=OBject EXchange=how protocol used when sending via bluetooth ot infrared
Open=open source=anyone can use the code with no copyright issues
OpenOBEX=2+2
This will be VERY interesting to follow, this is definately the only feature missing from android, and with prash doing graphics.... its gonna look good for sure (@ prash, using systemforce3... tried new dark hero, 3 hours later I was back to sf3... love the clock ) back on topic... if the knowledge of the coders here is anything to go by, I recon obex will be done by CM4.0.3
Hello,
i'm a sophomore college student look forward to learn how to code for android.. took two java classes in college.. how or where do i get started to learn the code, and may be i can be useful on the next project?
Click on my name at the bottom of the signature to email me..
kmassada said:
Hello,
i'm a sophomore college student look forward to learn how to code for android.. took two java classes in college.. how or where do i get started to learn the code, and may be i can be useful on the next project?
Click on my name at the bottom of the signature to email me..
Click to expand...
Click to collapse
Here's a start on learning
Also in college, computer science major, taken a bunch of programming classes so I'll try and be of some use
garok89 said:
It been a couple of weeks since i started the Cyanogen Updater - which made it to market in less than 24 hours. It was on everybody's TODO list and it just took one thread being opened to get it done.
Lets try and pull off another miracle....
LETS GIVE ANDROID REAL OBEX SUPPORT
Thanks to the openOBEX guys we have a command line tool to do the job - but that ain't quite good enough.
The average user doesn't want to have to type - thats barbaric in this day and age (personally i love it, but i am a little bit weird)
We have something to build on - it is already integrated in to cyanogens roms
We have two real options - include the required tools or just make the gui access the tools - either way, it can be done.
Yes, there is already Bluex... But why should we pay for something that the phone should already have???
If you are with me - post here. If you want to be a coder, tester, art-guy or just support us with a few thanks this is where to do it
You can PM me here or email me at [email protected]
Google Code
Bluetooth Stack Development Thread
OpenOBEX Thread
OpenOBEX @ Gitorious
Cyanogen's Experimental Branch
Click to expand...
Click to collapse
There is a aplication from the market called andrOBEX, and i think that app cover this.
Go to www.androbex.com and see if it is true, or try to work with the author to make it better.
If i'm wrong, count me in to help.
Does openobex support viewing directories and files which someone else is sharing and/or selecting your own directories for others to browse? I havent tried bluex but the description for that doesnt say whether it does or not, I dont know if that is based on openobex anyway though.
Would really like to see the development for this like the cyanogen updater, wish I could do something to help besides test.
i had no idea androbex existed - il look into it
this thread may be redundant....
Androbex doesn't appear to be able to receive files. Getting obexftp or something similar running shouldn't be hard. It just needs to be secure.
cyanogen said:
Androbex doesn't appear to be able to receive files. Getting obexftp or something similar running shouldn't be hard. It just needs to be secure.
Click to expand...
Click to collapse
Bluex can recieve with root access.
Hello everyone,
I'm not new to this forum, i have used it for many years now. Yet i have never made any contribution to the community.
I was fiddling with my G1 again when i found out my rom folder was a complete mess filled with update.zip packages, roms i didn't even know i downloaded. So i though, hey lets develop an application to manage all my roms and radio's with a quick button to upload a rom or radio to my g1.
Something like this:
Sorry i could not post a link, it's restricted. My account is still blocked for that. Admin??
I wonder if anyone would be interested in such an application? And if you are interested could you come up with suggestions to make it better/ help me debugging (i'm a student, i don't have a lot of spare time).
If anyone is interested i will seriously think about further developing this app,
it's now in pre-pre-alpha stage or so .
Greetings from holland.
zuenaerox said:
Hello everyone,
I'm not new to this forum, i have used it for many years now. Yet i have never made any contribution to the community.
I was fiddling with my G1 again when i found out my rom folder was a complete mess filled with update.zip packages, roms i didn't even know i downloaded. So i though, hey lets develop an application to manage all my roms and radio's with a quick button to upload a rom or radio to my g1.
Something like this:
Sorry i could not post a link, it's restricted. My account is still blocked for that. Admin??
I wonder if anyone would be interested in such an application? And if you are interested could you come up with suggestions to make it better/ help me debugging (i'm a student, i don't have a lot of spare time).
If anyone is interested i will seriously think about further developing this app,
it's now in pre-pre-alpha stage or so .
Greetings from holland.
Click to expand...
Click to collapse
First off, I am not sure if this is in the right section...perhaps putting it under General might be a better option, as it does not have to do specifically with developing a ROM.
Secondly, the idea seems promising. I am not fluent with ADB, but if you can flash roms with it (IE: boot the phone into recovery, and use adb to flash the rom), then yeah, I think it would be a great idea. And again, depending on what ADB can do, haev it control nandroid/bart as well for backing up and restoring. I know ADB has the shell command, so if you can use stdin/stdout to read/write to that shell prompt, it would be feasible.
But that is forcing every user to go ahead and keep a db of the ROMs they download...perhaps using an external host to manage the images (keep a listing, changelogs, etc) of the individual roms would be an idea...then you can have the application pull roms directly from that repo. This, of course, would require you to manage the remote repository and keep it up to date.
Thats my $0.02
jmhecker said:
First off, I am not sure if this is in the right section...perhaps putting it under General might be a better option, as it does not have to do specifically with developing a ROM.
Click to expand...
Click to collapse
This is ANDROID Development, not ROM Development.
My $0.02.
Bavilo said:
This is ANDROID Development, not ROM Development.
My $0.02.
Click to expand...
Click to collapse
Thats why I said "I'm not sure"...I stand corrected though.
If we want to get technical, this is Htc Dream (G1) Android Development. If we want to be nitpicky this should be in Android development unless it is only for the Dream (G1) and will not work for any other Android phone, which I doubt. But who's being nitpicky anyway?
JAguirre1231 said:
If we want to get technical, this is Htc Dream (G1) Android Development. If we want to be nitpicky this should be in Android development unless it is only for the Dream (G1) and will not work for any other Android phone, which I doubt. But who's being nitpicky anyway?
Click to expand...
Click to collapse
First off, I love the last line of your signature...classic
I just know that the mods and certain 'Senior Members' like to trash talk about threads in the wrong section, rather than simply stating that it would be more appropriate elsewhere. I was just trying to stop the bashing before it started, heh.
This thread is getting sidetracked though. I do think that the idea is a good one, whether it be strictly for G1, or across the board for all Android devices.
Sorry...
Sorry for posting this in the wrong section, i thought it should be in this section becouse it involves rom's.
Putting up a rom repo, would involve PHP and Mysql(a large one, saving all roms and radio's).
I would be very interested starting this project. I could use some help however. I don't mind building such a repo, but the content should be community managed.
I think android is going to be the mobile future so building such a repo would pay off since we're getting more and more rom's. Ill experiment with php and mysql tonight. I don't have a host, i run it locally.
Maybe someone with mysql/ bandwith to spare?
greetings
zuenaerox said:
Sorry for posting this in the wrong section, i thought it should be in this section becouse it involves rom's.
Putting up a rom repo, would involve PHP and Mysql(a large one, saving all roms and radio's).
I would be very interested starting this project. I could use some help however. I don't mind building such a repo, but the content should be community managed.
I think android is going to be the mobile future so building such a repo would pay off since we're getting more and more rom's. Ill experiment with php and mysql tonight. I don't have a host, i run it locally.
Maybe someone with mysql/ bandwith to spare?
greetings
Click to expand...
Click to collapse
It wouldn't necessarily have to be done with MySQL/SQLite/etc...XML would work just as well, but can be a bit more tricky to manage. SQL probably would be the better option now that I think about it.
This idea would have 2 parts to it then, correct? The backend (database hosted online somewhere), and the frontend for the user desktop.
As far as the bandwidth required, there are plenty of places on the net that are geared towards hosting of open source projects...perhaps you could use one of their offerings.
The idea first involved a client managed application only. However the idea in the other post about a web based repo liked me better . Ill try to develop a simple web application to add rom's,track changes. I will try to put a test application online tomorrow.
I hope this repo will be used and managed. I like this forum very much and the community could not live without it. This repo would absolutely be and addition to xda!
Using the repo, you could view all available rom's, installation instructions, track changes.
Check the thread tomorrow. Ill try to upload an example
Have a nice day
zuenaerox said:
The idea first involved a client managed application only. However the idea in the other post about a web based repo liked me better . Ill try to develop a simple web application to add rom's,track changes. I will try to put a test application online tomorrow.
I hope this repo will be used and managed. I like this forum very much and the community could not live without it. This repo would absolutely be and addition to xda!
Using the repo, you could view all available rom's, installation instructions, track changes.
Check the thread tomorrow. Ill try to upload an example
Have a nice day
Click to expand...
Click to collapse
I think anything is better than what we have now: Threads scattered all over the place with new ROMs getting posted. We need something more centralized.
bro you look like a fake maxisma .. hahahhaha .. sorry had to point that out
@georgegreco86
Well thank you for your kind reply...
@jmhecker
I've put together a quick php,mysql script on a temporary host. It's not possible to add roms. But you can view rom information in an organized way.
This is just an example of what is possible. Never mind the layout.
Its just a quick preview.
androidrepo.zxq.net/index.php
Greetings
Great idea!!!
im not a developer, but im a flashaholic he he, cant wait for this info....
zuenaerox said:
@georgegreco86
Well thank you for your kind reply...
@jmhecker
I've put together a quick php,mysql script on a temporary host. It's not possible to add roms. But you can view rom information in an organized way.
This is just an example of what is possible. Never mind the layout.
Its just a quick preview.
androidrepo.zxq.net/index.php
Greetings
Click to expand...
Click to collapse
The one thing to think about with this is when you allw people to add/update/delete their roms. You will have to have some sort of permission system in place that would prevent UserA from deleting a ROM that was created and uploaded by UserB.
Also, this creates another login/password that the rom creators need to remember.
Yeah i thougt about that, unfortunatly we live in a world where you can't trust people. So yes i need to build an user auth system
This was just preview
I'm going to bed now, ill be working on it tomorrow
have a nice day
I like to help
well I am just putting a new linux server online in the next day or so
toss one of my google adds on the page and you can host it there
and as space requirements grow I can add more np
it would at ther very least get it hosted so you guys can get it off the ground
by the way I have been lurking around here for months
some of the stuff you guys have done is truely sweet my phone
will never be the say again unless rogers has its way
Hello guys,
I've been working very hard on the repo and i'm glad to announce that the admin part is allmost fully finished!!
@Broncosis
Thank you for your reply!!!!
i hope your host can run php, and mysql. I use the mysql to upload foto's and roms are saved to the server harddisk. Will this be possible?
Thanks in advance for helping get this project off the ground !!
greetings
zuenaerox said:
Hello guys,
I've been working very hard on the repo and i'm glad to announce that the admin part is allmost fully finished!!
@Broncosis
Thank you for your reply!!!!
i hope your host can run php, and mysql. I use the mysql to upload foto's and roms are saved to the server harddisk. Will this be possible?
Thanks in advance for helping get this project off the ground !!
greetings
Click to expand...
Click to collapse
If I may make a suggestion: When you are working on the frontend (what the users (not devs) will see, code it using proper XHTML standards, and utilize classes from within your CSS. The reason I say that is I would be willing to make a desktop application that would scrape your webpage at load, and obtain the ROM categories, rom information, download links, etc, and the user would then be able to simply choose a ROM from the application, which in turn would download it, and create a nandroid backup of the phone, move the ROM over, and flash it, without any user interaction. (thats assuming I can work out a few of the troubles I am running into with ADB and Fastboot)
zuenaerox said:
Hello everyone,
I'm not new to this forum, i have used it for many years now. Yet i have never made any contribution to the community.
I was fiddling with my G1 again when i found out my rom folder was a complete mess filled with update.zip packages, roms i didn't even know i downloaded. So i though, hey lets develop an application to manage all my roms and radio's with a quick button to upload a rom or radio to my g1.
Something like this:
Sorry i could not post a link, it's restricted. My account is still blocked for that. Admin??
I wonder if anyone would be interested in such an application? And if you are interested could you come up with suggestions to make it better/ help me debugging (i'm a student, i don't have a lot of spare time).
If anyone is interested i will seriously think about further developing this app,
it's now in pre-pre-alpha stage or so .
Greetings from holland.
Click to expand...
Click to collapse
You may want to partner with the guy who built Droid Explorer. This sounds like a natural extension to that tool (if it's not already baked in). I know you can push things like APKs to the phone from Droid Explorer.
maxawesome said:
You may want to partner with the guy who built Droid Explorer. This sounds like a natural extension to that tool (if it's not already baked in). I know you can push things like APKs to the phone from Droid Explorer.
Click to expand...
Click to collapse
Do we know who it was that created Droid Explorer? I would love to be able to improve upon what he has already done.
Hi all,
I have a concept for a single update application that would be driven from the AndroidSPIN release database so all developers could use it for ROM, Themes, Applications and anything releases to devices.
If you wouldn't mind taking a couple of minutes to read this post, I would greatly appreciate it.
http://www.androidspin.com/forum/viewtopic.php?f=260&t=226
I'd really love to get a group together to collaborate and either help design this and/or write an application and back end to do it.
Let me know what you think.
Thanks
Simon
Sounds like an awesome idea, I'd love to help any way I can, but I dont fit in any of the needed positions for the post. Looking forward to see what develops though
Fantastic idea!
I only ever use XDA so god knows what I'm missing out on elsewhere and to be honest after searching the word android on google and trawling through one crap site after another becomes tiresome so hence the 'XDA only' policy.
Sorry I can't offer any programming skills but you have my support on this project whole heartedly, not that it counts for much I know buh MeH!
Hope you can get this off the ground.
As I mentioned to Simon already, I was thinking about building an update application for my ROM. I love the idea of having an on-phone ROM database, update capability, something that can easily be used by any developer in the community.
Some initial thoughts on functionality:
- Browse ROMs
- Download ROMs to SD Card
- Monitor specific ROMs for updates
- Monitor currently running ROM for updates
I'm willing to lend a hand on the Android side of things, but this will be a large undertaking and we will also need some people to contribute to the UI, server side of things, etc.
I do iPhone UI design for applications now (I don't have an iPhone, but most of my contracts and clients are iPhone based), but let me know and I can whip up anything you guys need UI related.
Send me a PM and I can get the ball rolling on how the functionality can be laid out as well.
Even tho I know I wouldnt be able to help out with this. I know I would love to test this out if you needed it.
Its a great idea!!!
I know a teeny bit of Java, and I'm working on becoming an Android developer, so if anything needs doing on the Android side of things, I'm willing to contribute.
Although I may not know as much as some others, I'm definitely a fast learner. I have a few books on Android development I'm reading through right now.
michinohatoresu said:
I know a teeny bit of Java, and I'm working on becoming an Android developer, so if anything needs doing on the Android side of things, I'm willing to contribute.
Although I may not know as much as some others, I'm definitely a fast learner. I have a few books on Android development I'm reading through right now.
Click to expand...
Click to collapse
Well, we can reuse a lot of code from Cyanogen updater.
akirah said:
Well, we can reuse a lot of code from Cyanogen updater.
Click to expand...
Click to collapse
Well, of course.
If anything else needs doing, however, I volunteer what spare time I have.
akirah said:
Well, we can reuse a lot of code from Cyanogen updater.
Click to expand...
Click to collapse
Could be easily done, would require quite a lot of laborious work ripping out all the stuff you wouldn't need though.
I would take a look at this but unfortunately I have another Android project on at the moment which is taking all my development spare time.
@SimonNWalker What sort of backend having you got going? REST? SOAP?
Ups wrong theread
not that it matters (since i kept the source 100% open)....
you have my blessing to tear the cmupdater to shreds if it will give us a unified solution to all our ROM cravings
firefart has done a good job of keeping the code pretty clean so there shouldnt be too many issues with grabbing it
and the new code for the screenshots for themes could probably be used to the advantage of this project with ease
I'm not really interested in a rom updater, but a market replacement with an "upgrade all" feature (à la apt-get / yum) drawing from multiple repositories would be most exciting.
The Cyanogen updater could be used, it just needs some modifications. Stuff like sub-sections and update all
Would probably need a new method to keep track of the updates aswell, I don't think json would be sufficient for a lot of applications and updates. Unless somebody could make some kind of script to automate the process when it gets uploaded.
willmav5000 said:
Would probably need a new method to keep track of the updates aswell, I don't think json would be sufficient for a lot of applications and updates. Unless somebody could make some kind of script to automate the process when it gets uploaded.
Click to expand...
Click to collapse
The only other method I would consider, besides JSON, is an advanced and well thought out web-based form that the developer is forced to complete upon uploading a ROM. This would place more burden on the server, but should be relatively easy to attach the provided ROM information to the rom database.
Think: Check boxes for firmware compatibilities, check boxes for device compatibilities, version number, change log, etc.
Maybe something a little like this?
Wow this would be/ is gonna be awsome!
I would suggest also that you can backup your sd card settings (and maybe also sms...) to an ftp server (or some other server you can install on your pc) from this app...
like (incremential) backup>partition>wipe>install update>boot>getbackupback
problem is to get the server adress back after wipe. maybe stored in web database and encrypted with phone imei number? or uploaded as google
whatever...
or just not wiping that single adress
just saying ^^
willmav5000 said:
Would probably need a new method to keep track of the updates aswell, I don't think json would be sufficient for a lot of applications and updates. Unless somebody could make some kind of script to automate the process when it gets uploaded.
Click to expand...
Click to collapse
JSON is just a file format. The CM Updater works via a static JSON file that gets updated manually. The way I'd design this (which is what I asked a couple of posts back) is a dynamic web service (probably REST based) which delivered JSON dynamically. Wouldn't be too difficult at all.
As SimonWalker said he's using PHP + MySQL I'm guessing that's already being done.
@garok89: CM Updater is completely open-source therefore blessings are not needed to use the source. Really don't understand all the "credit" crap here on XDA.
senab said:
@garok89: CM Updater is completely open-source therefore blessings are not needed to use the source. Really don't understand all the "credit" crap here on XDA.
Click to expand...
Click to collapse
I know it is open and I don't need to give my blessing for people to use the source. I did so because a lot of people don't feel comfortable using other peoples code without permission, regardless of whether or not its 100% open source.
And as for the 'credit crap'... I don't see you asking for your name to be removed from the 'about' section of the app
I am not asking for any credit
Anyway, lets not get off topic...
Guys, before this becomes Android Open Alliance, the sequel (you all remember how that went), I think we better set up a way to work together first and then toss in the speculative stuff later.
How about starting simple; set up a wave?
wesnoth.repositoryhosting.com/trac/wesnoth_wesnoth/[/url]
wesnoth.org
Possible port for Android? That would be amazing.
bump ....
it think its possible, but certainly we need proffesional.
arcadejumpers said:
wesnoth.repositoryhosting.com/trac/wesnoth_wesnoth/[/url]
wesnoth.org
Possible port for Android? That would be amazing.
Click to expand...
Click to collapse
This would be fantastic!
They posted that they were looking for developers, but I don't think they found anyone. Anyway here's the link: http://forum.wesnoth.org/viewtopic.php?f=6&t=18607
Maybe somebody gets interested!
janfsd said:
They posted that they were looking for developers, but I don't think they found anyone. Anyway here's the link: *link*
Maybe somebody gets interested!
Click to expand...
Click to collapse
That post is much too old. Also, Android is much more beyond "Java Developers". Instead of making a recreation, we could directly port this. Anyone interested in doing this yet?
BUMP! Hope I'm not being annoying by reviving this thread! but
maybe this is a bit late - hope not too late.
i saw the discussion on how to port the code.
i can tell you, you dont need to port most of the code at all. projects i looked into which run on multiple platforms make themselfs a lib - like libwesnoth.so - which features all the wesnoth c/c++ functions - the java implementation is more like a gui wrapper then, which mostly calls the library functions.
so you can maintain one codebase, which makes about 95% of the code - and the java code perhaps 5%. dont forget, underneath of the java gui which the user sees lives a full linux userland, which a 2.6 kernel with most of the common used libs.
if you wanna take a look, what is inside, download for example cyanogen 6.1 which is based on google aosp sources. inside the zip you find the system folder, which contains files you find in the root of a usual system. for investigation, look inside this .zip file: http://mirror.teamdouche.net/get/bravo/ ... signed.zip
hope this info helps a bit.
Click to expand...
Click to collapse
Just a little quote from the link! I just want a wesnoth port so badly. I'd gladly pay for the game.
Used to play this game on my nokia n810 lot of fun please someone!
So I'm planning on putting this on the android market and I really don't know much about java. Yes I have a lot of free time to learn it but I'm trying to get this done faster than it takes me to learn the java language (not to say that I'm not going to learn the language any way ). I am looking for a partner/team to help me make it an app on the android market. There will be a free version of the application (for xda users of course) and a paid version so that us as a team can make a profit for all our hard work. I my vision for the app is to make it completely universal for all of android. I have the files and tweaks all set already set so that I can have tweaks for ALL of android OS's because I've been holding on to these for a while waiting to see if I could learn java fast enough to do it alone. The specifics of my vision are to make seperate sections in the UI of the app so that the user can choose a category and apply tweaks according to that category. If you are interested in helping me make this an app for all of android phones then please let me know here or through pm. Also we will be splitting the profits equally. So if there are 5 of us we split it 5 ways, 3 of us split it 3 ways and so on and so on. Also I plan on only charging $0.50 - $1.00 for the app. I don't think that is too bad of a price. Can't wait to get this show on the road because I've been holding back on so much and releasing it with the app (which will be huge as is) will be so much more awesome
Can't wait to get to work with the team.
- Kifno
Dude you could've just hit me up on gtalk! I'll give you all the info and let you gitter done on your own. Nobody should be making anything off the work you put in to this!
my signature is better than yours
Okay we'll chat on gtalk later And once I do get it in apk format and on the market, I'm going to give you a big donation for helping me do this
Lol I don't do donations bro. This is fun. Once you start getting paid for it, it's not fun anymore! The whole idea behind xda (as I understand it) is to share information and have fun with what we do. That's why I've been defending your work since day one. I can tell how much fun you have doing this. I'll help as much as I can bro. Just make sure you come with me to the evo 3d when it drops!
my signature is better than yours
abadasstanker69 said:
Lol I don't do donations bro. This is fun. Once you start getting paid for it, it's not fun anymore! The whole idea behind xda (as I understand it) is to share information and have fun with what we do. That's why I've been defending your work since day one. I can tell how much fun you have doing this. I'll help as much as I can bro. Just make sure you come with me to the evo 3d when it drops!
my signature is better than yours
Click to expand...
Click to collapse
That's a great attitude brother, +1. And,
My MOS is better than yours.....(Scouts Out)
Suck it.....LOL
abadasstanker69 said:
Lol I don't do donations bro. This is fun. Once you start getting paid for it, it's not fun anymore! The whole idea behind xda (as I understand it) is to share information and have fun with what we do. That's why I've been defending your work since day one. I can tell how much fun you have doing this. I'll help as much as I can bro. Just make sure you come with me to the evo 3d when it drops!
my signature is better than yours
Click to expand...
Click to collapse
I was planning on the Epic 4G (mostly because I don't have the funds to get the Evo 3D). But I'll just stay on the HeroC longer until I have enough to get it so that I can be in the same sub-forum as you buddy And time to get started I'll email you right now if you are not online on gmail. And yes I have A LOT of fun developing. I get a huge smile on my face whenever I do something even better for our herocs
kifno said:
So I'm planning on putting this on the android market and I really don't know much about java. Yes I have a lot of free time to learn it but I'm trying to get this done faster than it takes me to learn the java language (not to say that I'm not going to learn the language any way ). I am looking for a partner/team to help me make it an app on the android market. There will be a free version of the application (for xda users of course) and a paid version so that us as a team can make a profit for all our hard work. I my vision for the app is to make it completely universal for all of android. I have the files and tweaks all set already set so that I can have tweaks for ALL of android OS's because I've been holding on to these for a while waiting to see if I could learn java fast enough to do it alone. The specifics of my vision are to make seperate sections in the UI of the app so that the user can choose a category and apply tweaks according to that category. If you are interested in helping me make this an app for all of android phones then please let me know here or through pm. Also we will be splitting the profits equally. So if there are 5 of us we split it 5 ways, 3 of us split it 3 ways and so on and so on. Also I plan on only charging $0.50 - $1.00 for the app. I don't think that is too bad of a price. Can't wait to get this show on the road because I've been holding back on so much and releasing it with the app (which will be huge as is) will be so much more awesome
Can't wait to get to work with the team.
- Kifno
Click to expand...
Click to collapse
Are you going to continue to use my code (and others' code) in your app? I'm only asking because just yesterday, I asked pretty much the same question you just asked today-- we're working on essentially the same project, however, I developed all of my code from scratch. If my battery tweak is going to be used commercially, I'd like to have some say in it-- and I'm pretty much in the same boat you are from a java development perspective. It could be a major coincidence, but it just made the same request in the board and it got me wondering what was up.
collin_ph said:
Are you going to continue to use my code (and others' code) in your app? I'm only asking because just yesterday, I asked pretty much the same question you just asked today-- we're working on essentially the same project, however, I developed all of my code from scratch. If my battery tweak is going to be used commercially, I'd like to have some say in it-- and I'm pretty much in the same boat you are from a java development perspective. It could be a major coincidence, but it just made the same request in the board and it got me wondering what was up.
Click to expand...
Click to collapse
The only code I used from other's was your code that determined the power source ( i have another 2 other methods of finding the power source if you don't want me to use your code). I developed all of my tweaks from scratch too as of i think v1.2 when I kicked out all other's tweaks that I just copied, pasted, and credited them. I wanted this to be my own work (besides the fact that i used your power source detecting code). But if you want you and I could team up on the app if you'd like. I used your power source code to make a setcpu replacement. Only thing is, is that I never studied user interfaces in bash scripting so i don't know how to give the user a choice as to what value they'd like certain profiles to be. I see you know how to do that in your script. I was going to look at how you did it and just remix it for my script but i'm going to come up with my own menu from scratch but this menu will be the app's menu and not a bash script menu and it won't be like yours, this is all kifno . But yeah other than your power source detecting code, which is pretty much the simplest way to find power source I just couldn't see it in root explorer when I didn't have access to a computer with adb shell for a while:
Code:
power=` cat /sys/class/power_source/battery/charging_source `
this is all kifno's work that i spent hours testing the new values and of the tweaks i came up with.
EDIT: also i've been talking about making this into an app for a long time so yeah it is just a coincidence. I just decided that I wouldn't be able to do it alone because I don't have the knowledge to do so alone....right now
EDIT 2: Also if you don't want me to use your power source detecting code I have another simple method of doing so, it just doesn't show usb charging. This is what I will use if you don't want me using your code that you use.
Code:
power_source=` cat /sys/class/power_supply/battery/status `
Then I will just revamp my tweak so that is is optimial for charging and not charging rather than optimal tweaks for usb charging, ac charging, and battery power. So no biggie if you don't want me to use your code because I had many other ways of determing it as well. also if you'd like to team up with me and my team of people who are going to help make my script an app i'd be glad to join forces to make one AWESOME app that will potentially be a MUST HAVE for the heroc. collin_ph batt tweak + kifno tweaks = YOUR HERO HAS JUST GAINED SUPER POWERS!!!!!
kifno said:
The only code I used from other's was your code that determined the power source ( i have another 2 other methods of finding the power source if you don't want me to use your code).
But yeah other than your power source detecting code, which is pretty much the simplest way to find power source I just couldn't see it in root explorer when I didn't have access to a computer with adb shell for a while:
Code:
power=` cat /sys/class/power_source/battery/charging_source `
this is all kifno's work that i spent hours testing the new values and of the tweaks i came up with.
Click to expand...
Click to collapse
You're... you're really serious? You're completely ignoring the fact that you so sloppily copied his code that you ended up leaving his name in the source?
You also copied verbatim the files from [MOD]Custom DNS Servers (etc/ppp/ip-down and etc/ppp/ip-up).
You even copied the etc/init.d/20userinit file from the collin_ph zip. The one that has NOTHING to do with the code you're using. The one that's an OUTDATED copy of the one that already comes with CyanogenMod. Did you realize that by overwriting the one in CM7 with yours, you have effectively REMOVED a feature from CyanogenMod? Between version 6 and 7, this file was updated to support user init scripts both in /sd-ext AND /data. But you wouldn't have included this file if you had ANY idea what it was really doing.
I'm still trying to figure out why you even copied it. There isn't a single thing in your script or collin_ph's script that depends on using it. But it's an obvious indication that you copied more than you would like to admit. And now you say you want to make this into a for-profit app? That's just plain insulting to the nature of XDA.
jasonmaloney said:
You're... you're really serious? You're completely ignoring the fact that you so sloppily copied his code that you ended up leaving his name in the source?
KIFNO: I wasn't trying to hide the fact that I did use his code. What's to hide? I have nothing to lie about.
You also copied verbatim the files from [MOD]Custom DNS Servers (etc/ppp/ip-down and etc/ppp/ip-up).
KIFNO: Those actually don't work lol. I just left them there from when I was using those in my personal v1.5 test builds. Would you like me to show you dated screenshots of all the test builds I have? That doesn't work. But I know another simple method to use custom dns servers on the heroc that will be in the app. So this is again, nothing to hide and actually if you look at the tweak I added my way of using the dns server in the 98kiftweaks file
You even copied the etc/init.d/20userinit file from the collin_ph zip. The one that has NOTHING to do with the code you're using. The one that's an OUTDATED copy of the one that already comes with CyanogenMod. Did you realize that by overwriting the one in CM7 with yours, you have effectively REMOVED a feature from CyanogenMod? Between version 6 and 7, this file was updated to support user init scripts both in /sd-ext AND /data. But you wouldn't have included this file if you had ANY idea what it was really doing.
KIFNO: I do know what I'm doing JM. You just don't THINK I know what I'm doing. And to be honest you do know somethings I don't know at times and I commend you on catching me on my mistakes at times I don't catch them before you do. But "hiding" evidence that I used other's work isn't something I need to be caught on because I tell people when I'm using another's work. So what's to hide when I'm being honest. And again v1.5 stable wasn't cleanly put together. And like I said nothing to hide I said I used some of collin_ph's stuff like a 100x in the kifno script thread if you were reading my post when I was releasing those TERRIBLE versions of v1.3-v1.5 test. So yeah nothing to hide and I know that already JM. Like I said v1.5 stable was sloppily thrown together and I didn't clean it up because I got so excited about releasing my kifCPU which I finally got to work. And that 20userinit file is something that again I knew didn't work/was useless for my script.
I'm still trying to figure out why you even copied it. There isn't a single thing in your script or collin_ph's script that depends on using it. But it's an obvious indication that you copied more than you would like to admit. And now you say you want to make this into a for-profit app? That's just plain insulting to the nature of XDA.
KIFNO: Jason, jason, jason. When I copied it, I never meant to use it When I opened collin_ph's script merged my v1.5 test folders with his folders and deleted what all I didn't need from his script's zip. Or at least I thougth I did because I left the 20userinit file in there. Also I have nothing to hide, in fact I'm typing up a documentation of what all my tweaks do right now! And also when describing something I used that I got from another person (collin_ph's power source bash code line which I posted above which I gave an example of one of my alternatives) I am crediting them and explaining what it does in their script and why I am using it for my script. And okay since using another's power source code is insulting since I want to make this a freeware/for-profit app, I just will go about doing all the things I needed from others (collin_ph's power source) my own way with the many backup methods of getting it done by getting rid of EVERY thing i've bored from other's and using my alternative methods of doing so for a certain tweak I have's purpose. Oh and jason, I have a question, kind of off subject but I've been urging to know, where did you learn java? I know where you learned about android (many documentations of the operating system because I notice you know a lot about what file does what in the system and how files connect to others).
Click to expand...
Click to collapse
Red the bold "kifno" text that is in red inside the quote.
Oh and the kifno method only way of doing things aka v1.6 will be released tomorrow along with the documentation that explains in my opinion/to my knowledge of what my tweaks are doing. And every other version I have that is online (because they contain other's way of doing things that i used for my tweaks purpose) will be deleted from the internet. I dont' want to insult xda. I'm just trying to help our heros be better
But back on topic though I have 1 person that has offered to help me in the process of making this an app. If any other's want to help me that'd be awesome.
And also if you do offer to help me i have a lot of files to send you that has everything i've been holding back from the script that i wanted to wait to release in the app version (so that everyone can really see true awesome-ness/why i love our hero )
and here we go again same **** different day
kifno said:
Red the bold "kifno" text that is in red inside the quote.
Click to expand...
Click to collapse
You just keep changing your story over and over again. You didn't add the line to credit collin_ph until after I pointed out his name in the script. And earlier in this thread, you said all you copied from him was one line of text, but now you say you merged the two together? You're insulting our intelligence.
And then you say the DNS stuff doesn't work and was left in? Just because your copying-and-pasting didn't work doesn't mean you didn't copy it.
Closing thread until I get word from Senior.