This might be in another thread. I searched pretty extensively for an answer and can't find one. Is there an app or way to install exe files and run them on my Magic 32B? My phone is rooted and running Cyanogen's 4.2.5 I figured my phone does everything else, why shouldn't it be able to run exe files?
Sorry for the bump. I can access the exe file on my memory card with Linda File manager, but I don't know what the open the file with??? Linda File Manager gives me the option to > Open With... Any ideas?
Android cannot open Windows based files.......
WEAK!
One thing I have learned from xda is that if theres a will theres a way! Comon guys there has gotta be a way!
Android is not windows..
In theory you could port qemu or something and run it in that. But that would be so slow a turtle would think of itself as fast if it saw it
Sent from my Gingerbread on Sapphire using XDA Premium App
tvall said:
Android is not windows..
In theory you could port qemu or something and run it in that. But that would be so slow a turtle would think of itself as fast if it saw it
Sent from my Gingerbread on Sapphire using XDA Premium App
Click to expand...
Click to collapse
Agreed. I want to say someone got Wine to install in Android but could never get it to work right.
Sent from my LG-P500 using Tapatalk
The idea is sweet and innocent but is much more complex...
The "exe" files are binaries. The .exe extension is something windows has as a standard for postfix, and is not necessary for running binaries (linux does not use any postfix and therefor also Android).
So what is a binary?
It's a list of machine instructions which the intended cpu understands. Every cpu has it's own instruction set ( a language). You need to make sure that the list of instructions you are running can be understood by the cpu. Inside this list you will find special instructions which is called "system calls". They are not intended for the cpu but for the operation system which you are running on.
So to sum up;
1) to run windows binaries on Android you need to change to instruction set of the binary because the cpu you have is not the same as those running on the Android device. E.g. x86 cpu on computer vs. ARM cpu on mobile devices vs. PIC micro-controllers. So the binary does not speak the same language as the cpu.
2) You need to change the system calls because Windows and Android does not have the same system calls.
So as a final sum up, it's not easy to make those binaries to run on Android, specially those which has a instructions list bigger than 20-30 instructions... They are just to complex and sometimes not even possible!
The WINE project is shot of doing the exact problem. It will run the binaries and translate them on the fly for the operating system. It succeed most times and fail others. But it's a HUGE project and need a normal computer power for it to run. The devices we have right now, does not have the horse power to run such projects.
I hope the info shades some lights on the problem :0)
NB: i know some of the info is not 100% but it's REALLY simplified to give the general idea and complexity of the problem :0)
mumilover said:
The idea is sweet and innocent but is much more complex...
The "exe" files are binaries. The .exe extension is something windows has as a standard for postfix, and is not necessary for running binaries (linux does not use any postfix and therefor also Android).
So what is a binary?
It's a list of machine instructions which the intended cpu understands. Every cpu has it's own instruction set ( a language). You need to make sure that the list of instructions you are running can be understood by the cpu. Inside this list you will find special instructions which is called "system calls". They are not intended for the cpu but for the operation system which you are running on.
So to sum up;
1) to run windows binaries on Android you need to change to instruction set of the binary because the cpu you have is not the same as those running on the Android device. E.g. x86 cpu on computer vs. ARM cpu on mobile devices vs. PIC micro-controllers. So the binary does not speak the same language as the cpu.
2) You need to change the system calls because Windows and Android does not have the same system calls.
So as a final sum up, it's not easy to make those binaries to run on Android, specially those which has a instructions list bigger than 20-30 instructions... They are just to complex and sometimes not even possible!
The WINE project is shot of doing the exact problem. It will run the binaries and translate them on the fly for the operating system. It succeed most times and fail others. But it's a HUGE project and need a normal computer power for it to run. The devices we have right now, does not have the horse power to run such projects.
I hope the info shades some lights on the problem :0)
NB: i know some of the info is not 100% but it's REALLY simplified to give the general idea and complexity of the problem :0)
Click to expand...
Click to collapse
Just in addition, most programs aren't just based on the .exe file. DLLs and other files are needed for the program to run, attempting to port all this stuff to Android would most probably result in failing.
K3n H1mur4 said:
Just in addition, most programs aren't just based on the .exe file. DLLs and other files are needed for the program to run, attempting to port all this stuff to Android would most probably result in failing.
Click to expand...
Click to collapse
I just hope Android is so popular that, like turning Windows into Linux using Wine (excuse the metaphor or whatever that was), someone might persist with this no doubt huge endeavour. I'm sure I'm not alone in wanting to never run a Windows app in Windows ever again, nor kowtow to Apple's interface demands even though I'd like something as responsive, integrated and occasionally useful as an iSomething.
Android was my future salvation till my employer handed over a handy Win App recently that I can't really avoid using - well I could, but I'd have to work that much harder - fat chance! So I'm stuck with a Samsung XP netbook and WM6.5 on my HTC Touch HD until someone somewhere, or lots of someones everywhere, do a Wine for Android
Seriously, you want to pretend in some reality somewhere that someone will first create an x86 emulator for an arm chip that barely likes to play xvid files then on top of that use wine to run a mobile windows app rather than just use something similar or pay someone to write you something similar that runs natively on android?
Which do you think is the non-insane option?
you cant run it on android persay but you can download dosbox and run it that way sorry for the bump
work for now
For now install your exe app on a windows PC if you have one. And run something like team viewer. Won't look the best but you'll get basic function out of it.
Thanks for the suggestions (cellsafemode excepted! )
I ended up buying a couple of iPads and have installed VMWare View, ICAB HD and Slashtop/CamCam giving remote access to my Windows PC at home. Gets the job done - bit slower, but the small Windows-only app I need to run infrequently isn't a huge load on the hardware or the network. Saves carting a netbook around for just one small but important task, and I guess it's accomplishing much the same as the Android suggestions above. When my iPad enthusiasm wears off, I'll have an Android option
Found a Way
Ok, I got a way! You need root, and itll be very slow on a phone but faster on a tablet!!
http s : / / play . google. com / store / a pps / de tail s? id = com . galoula.LinuxInstall&feature=search_result#?t=W251bGwsMSwyL DEsImNvbS5nYWx vdWxhLkxpbnV4S W5zdG FsbCJd
1)Download Above Link remove spaces
2)On your new Ubuntu or whatever you chose get wine from winehq
3)Get your exe and presto!!
--DISCLAIMER--
I havent tried it so if it breaks your phone/tablet its not my fault... USE AT OWN RISK
nikhiljha said:
Ok, I got a way! You need root, and itll be very slow on a phone but faster on a tablet!!
http s : / / play . google. com / store / a pps / de tail s? id = com . galoula.LinuxInstall&feature=search_result#?t=W251bGwsMSwyL DEsImNvbS5nYWx vdWxhLkxpbnV4S W5zdG FsbCJd
1)Download Above Link remove spaces
2)On your new Ubuntu or whatever you chose get wine from winehq
3)Get your exe and presto!!
--DISCLAIMER--
I havent tried it so if it breaks your phone/tablet its not my fault... USE AT OWN RISK
Click to expand...
Click to collapse
Good luck finding wine compiled for arm and some windows programs built for the (currently nonexistent) arm version of windows
2Noob4U said:
This might be in another thread. I searched pretty extensively for an answer and can't find one. Is there an app or way to install exe files and run them on my Magic 32B? My phone is rooted and running Cyanogen's 4.2.5 I figured my phone does everything else, why shouldn't it be able to run exe files?
Click to expand...
Click to collapse
if your mobile does everything else then can you do multitasking just like people do in Nokia N9??
yes its possible ..
ohhh yaaa its possible to install .exe file on any android device ..
just follow these simple steps and you are done :
Step 1
Install a DOSBox app on your Android device. AnDOSBox, aDosBox and DosBox Turbo are three different DOSBox apps available from the Google Play store.
Step 2
Open the DOSBox app.
Step 3
Type "cd \foldername" into the command line, where "foldername" denotes the folder in which your EXE is contained. For example, if your EXE is in the Download folder, type "cd \download."
Step 4
Click Enter on your Android keyboard.
Step 5
Enter the name of the EXE file. You do not need to enter the .exe extension.
Step 6
Tap "Enter" on your Android keyboard.
Tip
The command-line interface is not case-sensitive.
mydevilace said:
ohhh yaaa its possible to install .exe file on any android device ..
just follow these simple steps and you are done
Click to expand...
Click to collapse
Excellent! Never say 'Never'!
I also see it's possible to run iOS apps on Android as well.
Wing Nut said:
Excellent! Never say 'Never'!
I also see it's possible to run iOS apps on Android as well.
Click to expand...
Click to collapse
yeaaahhhhh
Sent from my Micromax A110 using XDA Free mobile app
So this confirms exe files r able to run on Android its just slow . Only thing left to do is find a way to lighten it up some by reduced graphics n bmp files ?
This distro was created with all the tools needed for android development. After you install this os, you're ready to start developing for Android.
GreenRom Dev Kt is now available. It has Android SDK/NDK, Eclipse, ADB(from any location!), ThemerStudio, all required dependencies for compiling roms, repo init for pulling source code from github, and Gimp for theming/editing graphics.
Q:Why is this important?
A:Because all you need to do is install this OS, plug in your phone, and begin having fun as you dev. There's no need to try and download and install ANYTHING for Android development because it's all been done for you. Do you need to run ADB Logcat? Go ahead. Now there's no need to make sure you're in a certain directory because you can run ADB from anywhere.
Some common questions might be:
Q:Do I have to install GRPdevkit to my HDD?
A:No, you can run it from live mode and store your progress on a pen drive. Alternately, you can install it on a pen/usb drive and run it from that if your bios detects usb drives.
Q:Will I be able to install this alongside another OS?
A:Possibly, although LivLogik and I haven't had any luck with dual booting this nor Ubuntu.
Q:Will this screw up my computer?
A:As with any Linux OS that's experimental, the possibility is there, although LivLogik and I have been testing this OS extensively to ensure all the bugs have been work out before making it available to you. Nevertheless, we are in no way responsible for your actions!
Q:What if I don't want to dev and just want to use this for an every day system?
A:That's quite fine as this OS is built from Linux Mint 11 and has all the stuff you probably use such as Brasero, X-Chat, Transmission, Libre Office, Movie Player, Calculator, Pidgin, G-Thumb, and much more!
Q:What if I can't burn an installation disk?
A:As with the majority of mainstream Linux Distros, we will be offering an installation disk for a small fee + s&h. LivLogik and I have to come up with a design for the cd decal as I have access to a cd printer. We will post the availability when we come up with it.
Q:How do I use the tools that are in this?
A:There is a get started guide on the desktop that you can move to your home folder or delete that explains briefly how to use the tools, however, I didn't include instructions on Eclipse as I've never used it. For Eclipse just go to it's website here: http://eclipsetutorial.sourceforge.net/totalbeginner.html and learn how to use it. Eclipse is used to make programs for Android.
LivLogik will be making a video so that you can see it in action. Enjoy!!
Note: you may need to right click on the desktop and change the wallpaper mode setting from zoom to whatever fits your screen best. -Fixed in update
**EDIT** if you have problems signing in to gtalk on the messanger... go to software manager and in the search box type in gtalk and download that plugin and it should work and if you have problems with anymore accounts like facebook do the same and it should work fine -Fixed in update
CLICK HERE TO VIEW THE VIDEO !!!! (it shows a run through of it and also sorta where everything is and a little how to - livlogik
Video #2 Updates For v1.1
============> grpdevkit.iso - 2.0 GB <============
MIRROR >>>---------------> http://dev-host.org/fj1lh8zu4g60/grpdevkit.iso <-----------------<<<
Code:
[color=green]Change Log: [/color]
(07-22-11 v1.1) :
~Added Chrome Browser
~Added plugin for Gtalk
~Shortcut for SDK/NDK in home folder
~Added shortcut for GRP forum
~Added different wallpaper([color=blue]thanks LivLogik[/color])
(6-?-11 v1) :
~Linux Mint 11(Katya) as Distro base [URL=http://www.linuxmint.com/]Linux Mint11[/URL]
~Remastersys(for building the distro [url]http://remastersys.sourceforge.net/[/url])
~Added GRP custom default wallpaper([color=blue]thanks LivLogik[/color])
~Added Android NDK
~Added Android SDK
~Added all required dependencies for compiling Android OS as follows:
git-core, gnupg, flex bison, gperf, libsdl1.2-dev, libesd0-dev, libwxgtk2.6-dev, squashfs-tools, build-essential zip curl, libncurses5-dev, zlib1g-dev,
sun-java6-jdk, pngcrush, schedtool, lib32z1-dev, lib32ncurses5-dev, lib32readline5-dev
~Added ADB( thanks to Tahl:[URL=http://www.rootzwiki.com/showthread.php?589-Android-SDK-NDK-Eclipse-and-ADB-Auto-Installer-(Ubuntu-Linux-Mint)]Tahl's tread[/URL])
~Added Gimp
~Added ThemerStudio(thanks to CorCor67:[URL=http://corcor67.blogspot.com/p/themer-studio.html]CorCor's blog[/URL])
~Added Repo Init to home directory
[color=red]Testers:[/color]
LivLogik
SlashDW
whoever else has tested or is running the Dev Kit let me know so I can include you in the testers credits. ;-)
epic!? I think so.
Treken said:
This distro was created with all the tools needed for android development. After you install this os, you're ready to start developing for Android. Check it out here: http://greenromproject.com/showthread.php?188-GreenRom-Dev-Kit-is-here!!-64bit(updated-7-23-11)
And, of course, enjoy!
Click to expand...
Click to collapse
Nice! This should save a ton of setup time when I install a new distro
Sent from my ADR6300 using XDA App
AWESOME! Finally, I can run Linux simply. Expect ROM's from me!
EASY Set-up! Now to figure out how to do everything else..... :/
Smokeey said:
EASY Set-up! Now to figure out how to do everything else..... :/
Click to expand...
Click to collapse
If you need some help with anything just let me know.
Wow. downloaded.
vassskk said:
Wow. downloaded.
Click to expand...
Click to collapse
how was the download speed? The server will be getting a make-over tomorrow and should beef up the download speed.
I'm assuming I can make this into a persistent usb and take it anywhere and work on it? Regardless I'm going to give it a shot.
DL started at 700 and dropped 1kB/s every 2 seconds continuously, then dropped out. I thought it was an artifact of the averaging done by Google Chrome; except it was linear, 2 seconds every time.
bogwurm said:
I'm assuming I can make this into a persistent usb and take it anywhere and work on it? Regardless I'm going to give it a shot.
Click to expand...
Click to collapse
Please see #2
Q: Do I have to install GRPdevkit to my HDD?
A: No, you can run it from live mode and store your progress on a pen drive. Alternately, you can install it on a pen/usb drive and run it from that if your bios detects usb drives.
vassskk said:
Please see #2
Q: Do I have to install GRPdevkit to my HDD?
A: No, you can run it from live mode and store your progress on a pen drive. Alternately, you can install it on a pen/usb drive and run it from that if your bios detects usb drives.
Click to expand...
Click to collapse
And boom goes the dynamite
/Dinc
Very nice work. Thanks for this.
Sent from my ADR6300 using XDA App
vassskk said:
DL started at 700 and dropped 1kB/s every 2 seconds continuously, then dropped out. I thought it was an artifact of the averaging done by Google Chrome; except it was linear, 2 seconds every time.
Click to expand...
Click to collapse
The server went down for a little bit. They beefed up the server speeds so it should download faster now. It should be up and running now
Great.. now I have to stop & get more DVDs. My old laptop doesn't boot from usb. Looking forward to trying it out. Thanks!
OP,
You said you were having trouble paralleling it with other os's? Any ideas why? i was very much hoping to throw it alongside joulicloud (ubuntu based) on my ssd.
vassskk said:
OP,
You said you were having trouble paralleling it with other os's? Any ideas why? i was very much hoping to throw it alongside joulicloud (ubuntu based) on my ssd.
Click to expand...
Click to collapse
I wasn't having any luck dual booting Linux Mint or Ubuntu. I have Windows 7 Ultra that I wanted to dual boot but couldn't get it worked out and just gave up since I have to have Linux for most of the development I do.
beard0 said:
And boom goes the dynamite
/Dinc
Click to expand...
Click to collapse
Dino-mite? Faq said run live and store on usb. Assumption was run live from dvd. Second part of answer was run from usb if BIOS allowed it. That's why I assumed I could run a live usb with a dedicated partition on the same usb. If we didn't have questions then we wouldn't have Devs. But thanx for your input Mr Dynamite.
bogwurm said:
Dino-mite? Faq said run live and store on usb. Assumption was run live from dvd. Second part of answer was run from usb if BIOS allowed it. That's why I assumed I could run a live usb with a dedicated partition on the same usb. If we didn't have questions then we wouldn't have Devs. But thanx for your input Mr Dynamite.
Click to expand...
Click to collapse
You should be able to install on a usb pen drive and save your files on a dedicated partition. Just make sure you have enough room on your pen drive. Look here: Link and see the requirements for doing so. I've never actually installed on a pen drive myself but theoretically speaking it's plausible. Let me know if it works out for you.
Will do thanx for the reply. I know how to set up a persistent live distro but some of them are tricky. I like this idea because all I need is the flash drive to do work on any computer.
"Here and now, boys, here and now."-Aldous Huxley
READ THE ENTIRE POST BEFORE DOING ANYTHING
Disclaimer
I'm not responsible for any problems caused by the use of the installer or by user error and not reading the entire post.
What is it?
First of all, the Easy Installer is not in any way related to Gradular's or xcd's installer. Though these tools are great they don't completely install Android for you. The Easy Installer will completely install Novacom and Java (if needed), get the necessary Android files, and run the command to install them. This does everything for you so you don't have to (whether you are just lazy or new to installing Android).
How to Use (Installer)
There is a single zip file to download which contains installers for both CM9 and CM10. When you download it, extract it. You must then move the easyinstaller folder to "C:\easyinstaller". You must do that or it won't work. Then Run as Admin the correct easyinstaller_cmx.bat (where x is the version you want installed) and it will start the program. Follow the necessary instructions it gives and it will complete your Android install. It's that easy!
How to Use (Uninstaller)
The program is included in the same file as the installer. It is universal for both CM9 and CM10. Follow instructions above for setup but instead Run as Admin easyuninstaller_cmx.bat and it will start the program. Follow the necessary instructions it gives and it will complete your Android uninstall. It's that easy!
How Easy is It?
You only have to do a few things to completely install Android. Plug your Touchpad into your computer in USB mode (in webOS or TWRP Android is not supported but might work). Then, when it says to boot to recovery mode, do it and it will then install Android. Pretty easy stuff huh?
Downloads
Here is the only download you need. Notice that its possible that the roms will be outdated. I will always try to update the Easy Installer with the latest versions of Android. The download is large because it gets you ALL the files needed to install Android.
Download Zip File Here (Mega) v 1.0.3
Download Zip File Here (Google Drive) v 1.0.3
Bugs/Issues
If you find any bugs are have any issues with the program I encourage you to post them here as I am entirely open to making Easy Installer the best experience.
Changelog
v 1.0.0 - Initial Release
v 1.0.1 - Renamed gapps files so they install thanks RolandDeschain79
v 1.0.2 - Renamed CM9 for compatibility, added Uninstaller, fixed fatal coding error
v 1.0.3 - Fixed coding errors thanks hperry and basshead73 added Google Drive link
Next Release Improvements/Fixes
I need testers!
If you have ever tried this out all feedback is appreciated.
Remolten said:
I need testers!
If you have ever tried this out all feedback is appreciated.
Click to expand...
Click to collapse
I'm actually gunna try it when i web doctor my TP
I Will give ya some feedback
Updated with latest Nightly 2/24.
I just tried it. It seemed to install correctly, but CM9 is stuck at the boot screen
Jive Turkey said:
I just tried it. It seemed to install correctly, but CM9 is stuck at the boot screen
Click to expand...
Click to collapse
Probably an issue with CM9 not the installer.
Uninstalling it works at least :/
Attempting to install again. I have a lot of Android files from an old install. I'm removing them in case that's the cause of my problem.
... cancelling Java causes the script to fail. I made sure to Cancel, not close.
... continuing the install. Android is installing...
IT WORKED!!!
It must have been one of the old remnant Android files giving me grief.
---------- Post added at 06:59 PM ---------- Previous post was at 06:02 PM ----------
Thank you. This was much simpler than the previous methods I have used to install Android on my TouchPad. I have a few suggestions, that I hope may make your installer even better:
I don't see anything in your code that requires the installer be in "C:\easyinstall". I think you could omit that instruction.
Line 9 should mention USB Drive mode. I misunderstood it and I think others might too.
Tell people to install Java and novacom themselves separately. This will eliminate extra steps for those who already have them installed. This will also prevent problems with those that close the Java installer without installing it. This will also mean you don't have to worry about keeping the version you supply up do date (it's already outdated as I write this). I think something like this would be better:
Code:
echo Now you need to download and install the latest version of Java.
echo Press a key to open the Java download website.
pause >NUL
start https://www.java.com/en/download/index.jsp
echo.
echo When you have downloaded and installed Java, press a key.
pause >NUL
echo.
echo Now you need to download and install Novacom.
echo Press a key to open the Novacom download website.
pause >NUL
start https://code.google.com/p/universal-novacom-installer/
echo.
echo When you have downloaded and installed Novacom, press a key.
pause >NUL
I hope that's helpful. Thanks again
It worked but didn't work. The java updated, novacom came up, and it went into double penguin mold, but I still have the same date android.
Which Andoid build did you have?
I thank it was 2-17. That was a couple of weeks ago.
cdmcfud said:
I thank it was 2-17. That was a couple of weeks ago.
Click to expand...
Click to collapse
Will update soon.
Links not working
The links above on the main post aren't working folks!
silentarts said:
The links above on the main post aren't working folks!
Click to expand...
Click to collapse
Abandoned.
Remolten said:
Abandoned.
Click to expand...
Click to collapse
does anyone have a mirror?
bearsfan85 said:
does anyone have a mirror?
Click to expand...
Click to collapse
If I get enough interest maybe I can rewrite as I deleted it.
I'm selling my TP in a day or two but maybe I could get something up before it's gone.
Remolten said:
If I get enough interest maybe I can rewrite as I deleted it.
I'm selling my TP in a day or two but maybe I could get something up before it's gone.
Click to expand...
Click to collapse
The main thing I needed were the proper drivers as the 64bit sdk from palm is not available on their website, or at least it wasn't last night. After doing some more searching I was able to find what I needed. Thanks for willing to help out others though even though it doesn't benefit you.
DERP (Device Environment Replacement Program)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
initial pre-alpha version 0.001
(Aug 3, 2013)
by fattire (twitter: @fat__tire)
tldr?
Derp is a general-purpose, platform-independent installer, written in python with wxpython, that executes .derp XML-based scripts to walk the user step-by-step through a ROM installation (or do whatever you want.) The idea is to replace text-based walkthroughs, howtos, and installation instructions by requiring a user to do almost nothing but run a .derp script and sit back. Derp walks through a series of scripted steps (as in, say, a ROM installation) and automatically does all the file downloading/adb/fastboot stuff while the user waits and maybe reads what's happening (at the script author's discretion). Derp also pre-installs and keeps Google's Android SDK tools up to date and even gives adb & fastboot a simple UI. .derp scripts are human-readable XML. Embedding bash and python is also supported in Derp, as is restricting scripts or even script parts to certain platforms. Derp runs as root on the local computer (it's an installer after all), and is open source/GPLv3 licensed. It also comes with sample scripts and a built-in tutorial for creating your own.
Still tldr? It's a script-runner thing!
-----
LONGER DISCUSSION...
WARNING: RIGHT NOW, DEVELOPER TYPES ONLY! This is not for end users...yet. Hopefully people will find bugs and help fix them before an end user uses this on a “live” computer with an actual device. Again, because this is a software installer, DERP AND ITS SCRIPTS RUNS AS ROOT. Never run random .derp or .xml scripts you find on the Internet. This could screw up your device AND your computer, so... treat it just like any other script you’d (not) run as root. Also, the discussion in this forum is how Derp is supposed to work, but of course, there may be (probably are?) bugs.
THE "PROBLEM" AS I SEE IT
Working on the CM wiki, I've grown to appreciate how varied firmware install methods can be. Some devices need rooting. Some need firmware downgrades. Sometimes you can use fastboot. Other times you can’t. Some systems need to unlock the bootloader, etc. etc.
Installing this stuff can be hard. Okay, maybe not for you, but how about your mom or dad? Could your grandparents buy a device today and put CM on it themselves? There's been some chatter on the interwebs about how to make rooting and replacing firmwares easier... some kind of graphical installer seems to be the answer. But there are a million devices out there...
So people have been using text-based HOWTOs, walkthroughs, step-by-step instructions, and/or shell scripts and batch-type files to do this. I thought maybe a generic, unified scripting method might work better that gives the users readable instructions but optionally automatically does technical steps for them.
Hoping to avoid creating yet-another-standard-way-to-do-something, back in February, I searched online for generic installation solutions. But they all seemed to be platform-dependent, or weren’t licensed for general use, or looked really ridiculously complicated....
So (and big caveat here-- I'm not a programmer!) I whipped up a proof-of-concept for developers to play with to start thinking about how to address the issue. It took me a few weeks to get going, but ended up sitting collecting dust for months as I worked on other things and occasionally bothered friends to test the latest version.
Derp is not necessarily intended as any kind of final solution per se-- it’s just for further discussion/testing. A totally legit question to be answered: is this in any way even a good idea?
Let's find out.
SO WHAT IS DERP?
It's a general-purpose installer, written in python with wxpython, that executes .derp XML-based scripts to walk the user step-by-step through a ROM installation, optionally doing all the "technical stuff" like downloading files and running commands in the background. Ideally, you wouldn't have to write a long tutorial for every platform on how to do stuff-- a .derp script could BE the walkthrough.
The first thing Derp does is install the latest adb and fastboot from Google. That looks like this:
(Mac version)
Next, when you run a .derp script, it can automatically download and verify ROM files like CyanogenMod or tools or whatever from the Internet, and then install them.
(Linux version)
(Mac version)
As it does all this, the script can provides information and/or feedback to the user via a UI that hopefully looks like a normal installer. What the user sees is written by the script author in simple HTML. As the .derp script runs, the user simply ftaps "Continue" to proceed through the scripted steps.
As mentioned, .derp scripts are written in XML, which is platform-generic and easy for a human to read. The .derp script syntax, explained below, is also very simple. The script author is also free to embed bash shell scripts or python (or both) if advanced stuff is needed.
Worth mentioning too-- sections, steps, text, actions, or entire scripts can be restricted by the type of computer its running on (ie, don't run certain python commands on Mac, but do run them in Linux, or whatever).
And finally-- while my initial thought was to use this for installations of ROMS like CyanogenMod to a device, I'd think Derp can be used for many kind of installations or scripted operations-- even to wrap a UI around a bash or python script to make it easier for users to run without having to open a Terminal and start typing. Derp scripts don't even have to have to be used for anything to do with mobile devices, though it does pre-set up the Google SDK tools for that purpose.
In fact, a Derp script can do NO actions-- simply serve as a click-through set of HTML-based instructional steps for a user to follow by hand. Conversely, it can say nothing to the user but "Stand by, doing everything." and that's it.
FEATURES:
Easy to install. Debian-based Linux just uses sudo dpkg -i derp_0.001-1_all.deb and it's ready to go. Mac users: it’s Derp.app. Done and done.
Derp is GPLv3-licensed and source code is available now. Read license for terms, conditions, and more disclaimers.
Automatically downloads/updates all SDK tools (primarily adb and fastboot) directly from Google at every launch. So the user is always up to date. (also requires users to agree to Google's T&C...)
Uses an XML-based, OS-neutral installation script format that is easy to write and understand. Just about anything you want the user to do-- restart in bootloader mode, unlock the device, etc-- the derp script should be able to do. Even run bash or python scripts from within the script.
XML Tags:
<derp> - the main tag for a derp script.
<section> - a major category for individual steps.
<step> - Put as many of these in a section as you want.
<info> - The stuff the user sees as the script runs. You can add HTML tags to make it look good.
<file> - tell derp a file’s URL, MD5/SHA hash, and local filename. Derp will grab it and verify it for you automatically. These files can be roms, scripts, recovery images, etc. whatever your script needs to do its job.
<action> - valid “action” types include “adb”, “fastboot”, “python”, and “bash”. Future versions of Derp can add more. <action> allows your script to do stuff. Never worry about whether the user installed and set up the latest versions of adb or fastboot properly. They should "just work".
Using the above tags, you can not only have your scripts automatically do full installations, rooting, bootloader unlocks, etc, but simultaneously tell the user what’s happening behind the scenes if you choose. The user feedback is written in standard HTML-formatted text. The user just hits “Continue” whenever you want to move from one step to the next.
Included are example scripts to install CyanogenMod 10.1.2 on stock Nexus 7, Nexus 4, Galaxy Nexus, and HTC One. The latter script, written by Cowmix, demonstrates how to embed python to interact with the user, and they all include bootloader unlocking.
The only things I can think of that can’t be done automatically are steps that requires hands-on (ie, holding down buttons during power-on) or where, say, debugging mode needs to be manually turned on, or the slider needs to be physically unlocked. In the few cases where user involvement can’t be avoided, the <info> tag can be used to walk them in “real time” through that step.
A built-in tutorial on how to write your own .derp scripts explain how the tags work. (The tutorial itself is a .derp script.)
A console window helps you see what derp is doing in real-time...
Also included: a quick-access adb and fastboot text-entry in the console. This lets you start up Derp and type quick adb or fastboot commands without needing a terminal (or to deal with PATH issues)
“Debug Mode” lets you go through the script without invoking the <action> tags. Makes writing scripts easy.
Derp should automatically detect when a device is connected via adb or fastboot and let you know.
You may filter any Derp tag (including <action> tags) by operating system. This means that using a single script, the user can see different text or the script may behave differently depending on the platform. In fact, you can restrict the entire script to a particular operating system(s).
The script doesn’t actually have to “do” anything. It can be used simply to create walkthroughs or tutorials in a much nicer format than a step-by-step text file. Just link to a .derp file and let it walk the user through whatever. Easy to convert a text walkthrough to an interactive click-through just by adding <section> and <step> tags.
WHY MUST DERP RUN AS ROOT?
Remember, Derp is an installer. It needs to do important stuff, and as such it runs as root. I had considered trying to sandbox the parts that "needed" root and only enable it there and ask for permission for a single operation via an "enter your password" type of dialog box. But because the .derp format is so flexible, there were a million potential places where a script author could do varying kinds of trickery-- by breaking out of Derp to execute python code, spoofing directory paths, abusing the embeddable bash scripts, etc. It just didn't seem to make sense to try to anticipate and counteract all that. Playing cat-and-mouse endlessly is pointless. Again, Derp is an installer. Installers get administration permissions. Just like any installation script you'd run with "sudo" would get. Just like the package installer on OS X. Also, it is much easier to run adb and fastboot with root permission-- you can easily kill all running versions of adb for example, and fastboot seems to prefer it. Plus, it avoids the need for playing with udev configuration stuff in Linux.
This means that, like pretty much every other type of installer, .derp scripts will have full access not only to your mobile device, but to the computer Derp is running on. This seems to make the most sense to me, but I invite others to chime in on improving the design if you disagree.
All caveats and considerations apply. Do not run untrusted scripts, and do not run Derp on a "sensitive" computer (however you wish to define that).
WHAT IS MEANT BY "CROSS-PLATFORM"? (IN OTHER WORDS, WHERE'S THE WINDOWS VERSION?!)
I don't have/use Windows. Right now, Mac & Linux builds are currently available. Derp still needs to be ported to Windows, but since it’s wxpython, and I tried to make as little dependent on the underlying operating system, 95% of the work is hopefully done. Anyone with Windows who’d like to help, let me know.
I think it should be some minor changes to the setup.py file and a few definitions. Also, not sure if Windows supports the “bash” shell...
ANYTHING ELSE?
Ummm... That’s it. Remember, this is a work in progress and a proof of concept... Again, I dunno if anyone will see the value here, and maybe it will need a complete rethink. There are likely to be bugs, maybe even really bad ones. But after a few months of playing around, I kinda feel it’s ready for other developers to at least see and even try in a secure environment (as suggested, maybe a VM or something).
SHOW ME THE CODE!
The code is on github-- please submit commits-- fixes, new features, whatever-- as well as bug reports there. And again, figure there will be tons of bugs to be squashed.
Enjoy.
fattire (@fat__tire)
THANKS TO...
Big thanks for helping me test w/different devices: cowmix, hashcode, kornyone, ciwrl, utkanos, verygreen, and jeagoss
DOWNLOADS:
Debian-based Linux (Debian, Ubuntu, Mint)
derp_0.001-1_all.deb
MD5: 6e8eabe94cdfdba649ea41198211bb64
SHA512: 307aed0ad79de17793bb445d2b588388bf66b42716de36a055227f555bfc12ab3e61d5f0e3de804eb4c0c560f140a6318ea6dd1608cc78ee84b50336895cdfc2
Mac OS X (Tested on: Snow Leopard, Lion, Mountain Lion)
Derp-v0.001-mac.zip
MD5: b738e0a270f53d274baec0ce121577fb
SHA512: 3cf7d438c4dfd0c5c5d7c2f29fe19a76dcbb728acfe73a24e28cdb3f21624510c94f1c4224ad31118851f17205e4d7152619c15281c98189cb33ccac82c1505a
Source code on GITHUB is here.
SAMPLE DERP SCRIPTS
Nexus 7 stock to CM 10.1.2 installer - included (written by me)
Nexus 4 stock to CM 10.1.2 installer - included (written by me)
HTC One stock to CM 10.1 nightly installer - included (written by cowmix)
Galaxy Nexus stock to CM 10.1.2 installer - included (written by cowmix)
EXTERNAL SCRIPTS BY OTHERS
None yet...?
DONATIONS?
Not to me, please. If you feel the need to give someone money, consider donating to the EFF or the Software Freedom Law Center. It's really a donation to your digital rights. (I'm not affiliated with them except as a huge fan and occasional donor.)
REMEMBER, DERP IS EXPERIMENTAL AND YOU RUN IT AT THE RISK OF YOUR COMPUTER, YOUR DEVICE, AND YOUR VERY EXISTENCE AS A HUMAN BEING. I TAKE NO RESPONSIBILITY FOR WHAT DOES OR DOESN'T HAPPEN. DON'T RUN DERP SCRIPTS YOU DON'T TRUST COMPLETELY. YOU ARE ADVISED, JUST IN CASE, TO ONLY RUN SCRIPTS IN A SANDBOXED VIRTUAL COMPUTER. And let me know what y'all think.
Script Syntax (Tutorial)
SCRIPT SYNTAX
So you want to write a Derp installation script? It's easier than you might think. Derp isn't too complicated-- it doesn't have a lot of "logic". It just follows a script and does what you tell it.
To start a script file, just get out any text editor (or XML editor) and name it something with the .derp file extension, such as:
sample.derp
Once you write up a sample script, you can load the file with Derp to see if it works.
The <derp> tag
Every script starts with the <derp> tag and ends with the </derp> tag. Within the "<derp>" tag, at least for this pre-alpha version, you need to put at least one required attribute, app_version:
<derp app_version="0.001">
</derp>
This is to identify the version of Derp that your script is for. Future versions may not support your script. You can put other attributes that might be used in the future:
<derp device_codename="mako" os="Linux Darwin" title="CM10.1-M1 for Mako" device_name="Nexus 4" device_vendor="lge" app_version="0.001" script_version=".5" author = "fattire" author_email="[email protected]" author_twitter="@fat__tire" license="GPLv2">
These additional tags may be required in future versions of Derp, so if you are able to supply 'em, it's recommended. They'll simply be ignored if they're not needed.
The title="CM10.1-M1 for Mako" is a general title for the script. VERY briefly explain what it does. It's not required, but recommended.
The one other important attribute, os="Linux Darwin", will be explained later. For now, just know that it is optional, but you can use it to restrict the whole script to only run only in certain operating systems.
The <section> tag
Every set of instructions should be divided into logical sections, such as the ones on the left. The section has its own required attribute, the name:
<derp app_version="0.001" os="Linux Darwin" script_version=".5">
<section name="This is the first section"></section>
</derp>
Notice the name attribute is used with a section to identify what the section is for.
There's not much more to say about sections. It's easy. Let's move on.
The <step> tag
Each Section can be made of (at least one but) an unlimited number of individual steps. And the tag for that is called <step>. Here's how it's used:
<derp app_version="0.001" script_version=".5">
<section name="This is the first section">
<step name="This is step one"></step>
<step name="This is step two"></step>
</section>
<section name="This is the second section">
<step name="This is step three"></step>
<step name="This is step four"></step>
</section>
</derp>
Notice that steps, like sections, need to have a designated name attribute so that Derp knows what to display. The step name will appear to the user at the top on the right as the centered step heading.
The <info> tag
The stuff that appears in the main info area should be wrapped in info tags.
Example:
<derp app_version="0.001" script_version=".5">
<section name="This is the first section">
<step name="This is step one">
<info>This is the text you'll see! It explains what's going on to the user. <b>I'm bolding this part because it's really important for the user to see.</b></info>
</step>
</section>
</derp>
Note: The stuff that you put between the <info> and </info> tags is...HTML!
So you can format it however you want. You can even include images from the Internet.
Here is the list of HTML tags that are recognized:
A NAME=[string]
HREF=
TARGET=[target window spec]
ADDRES... can add os="Linux Darwin" to the <derp> tag.
RESERVED
RESERVED
Derp
Derp is a pretty slick interface for scripting not only device installation, but resources needed for modifications on Android devices (namely the Android SDK). A developer can create a custom script to automate the installation, decreasing one off bad installs, and ensuring the process is completed as intended.
People new to Android customization or developers could find this of use. I am excited to see where it goes.
kornyone said:
Derp is a pretty slick interface for scripting not only device installation, but resources needed for modifications on Android devices (namely the Android SDK). A developer can create a custom script to automate the installation, decreasing one off bad installs, and ensuring the process is completed as intended.
People new to Android customization or developers could find this of use. I am excited to see where it goes.
Click to expand...
Click to collapse
Thanks.. BTW for those asking about the Windows port (in IRC)...
I simply don't have windows, but it was written to be as platform generic as possible. Anyone with a tiny amount of programming skills (again, I have zero myself) should be able to add Windows compatibility pretty quickly... I think it's a matter of just fixing that setup.py file to work with py2exe. See here for more info.
fattire said:
Thanks.. BTW for those asking about the Windows port (in IRC)...
I simply don't have windows, but it was written to be as platform generic as possible. Anyone with a tiny amount of programming skills (again, I have zero myself) should be able to add Windows compatibility pretty quickly... I think it's a matter of just fixing that setup.py file to work with py2exe. See here for more info.
Click to expand...
Click to collapse
Windows dev here, I may be able to help. Also, any interest in a Mono version? Looking for an excuse...
fattire said:
Thanks.. BTW for those asking about the Windows port (in IRC)...
I simply don't have windows, but it was written to be as platform generic as possible. Anyone with a tiny amount of programming skills (again, I have zero myself) should be able to add Windows compatibility pretty quickly... I think it's a matter of just fixing that setup.py file to work with py2exe. See here for more info.
Click to expand...
Click to collapse
Grats BTW, great idea...
I've come across several usages of Linux only Python functions so far and I don't see drop-in alternatives for Windows, so I've just commented out that particular section (line 1183). I managed to get the tool download working. Suggestion, maybe sticking with MD5 hashes would be simpler as the script receives updates to match Android SDK download updates. I can understand why you would want to use SHA512, but google offers MD5 on the site next the downloads for simple copy/paste replacement. There's the potential for lots of hard-coded configuration and for those configurations to be platform specific, such as the download folders for tool updates. I'll see if I can finish up the first bit of win compat this afternoon, but my Android device is at work and is a Dell Streak at that, so my test options are a bit limited.
http://docs.python.org/2/library/platform.html
1183 - os.geteuid()
1196 - os.uname()
fork:
https://github.com/strvmarv/derp
screen:
Windows... already?!!
Holy crap! I don't think it's been 12 hours and there's an early windows port.. amazing job!
The unix-only stuff was from a last second addition I did when I realized that dero would try to run on ARM-based linux machines. The easy fix is to simply indent everything past:
if platform.system() == "Linux"
so that the if not os.geteuid() == 0: and testarch = os.uname() stuff is conditional on it running Linux. (Unless there's a windows ARM version, in which case it also won't work).
In both cases it would work except for the fact that Google doesn't provide libraries for ARM. Interestingly though, debian does. So if we REALLY wanted, we could just apt-get install the tools for ARM Linux users. But that would (1) require a debian-based version of Linux, and (2) we wouldn't know that adb/fastboot/etc are the very latest from Google. But it might be a good version .002 feature, with a preference to turn it on or something.
Again, amazing work. Keep it up!
strvmarv said:
http://docs.python.org/2/library/platform.html
1183 - os.geteuid()
1196 - os.uname()
Click to expand...
Click to collapse
fattire said:
Holy crap! I don't think it's been 12 hours and there's an early windows port.. amazing job!
The unix-only stuff was from a last second addition I did when I realized that dero would try to run on ARM-based linux machines. The easy fix is to simply indent everything past:
if platform.system() == "Linux"
so that the if not os.geteuid() == 0: and testarch = os.uname() stuff is conditional on it running Linux. (Unless there's a windows ARM version, in which case it also won't work).
In both cases it would work except for the fact that Google doesn't provide libraries for ARM. Interestingly though, debian does. So if we REALLY wanted, we could just apt-get install the tools for ARM Linux users. But that would (1) require a debian-based version of Linux, and (2) we wouldn't know that adb/fastboot/etc are the very latest from Google. But it might be a good version .002 feature, with a preference to turn it on or something.
Again, amazing work. Keep it up!
Click to expand...
Click to collapse
Good deal, glad I could help. If you ever want to give a Mono/GTK# port a try just give me a shout. I could do the majority of the leg work code in C# very quickly, lightweight app, which is excellent these days.
I just pushed up my initial changes for the setup.py. I haven't figured it out yet, there are some imports, specifically in derp.py line 23 (platform) that aren't getting consolidated into the build with py2exe. It's most definitely how I've setup the options in the setup.py, hopefully someone is more familiar with py2exe than I and can provide some insight.
strvmarv said:
Good deal, glad I could help. If you ever want to give a Mono/GTK# port a try just give me a shout. I could do the majority of the leg work code in C# very quickly, lightweight app, which is excellent these days.
I just pushed up my initial changes for the setup.py. I haven't figured it out yet, there are some imports, specifically in derp.py line 23 (platform) that aren't getting consolidated into the build with py2exe. It's most definitely how I've setup the options in the setup.py, hopefully someone is more familiar with py2exe than I and can provide some insight.
Click to expand...
Click to collapse
Okay, let me take a second and fix the bug I described above... then-- damn, I wish I could try the setup.py myself. So you're saying that the platform stuff doesn't get imported into the build for some reason?
Standby for the fix.. just gotta test it and stuff.
Update: Pushed. Also added /build, /dist, and one other mac build-related directory to .gitignore to make things a little easier to see...
strvmarv said:
I haven't figured it out yet, there are some imports, specifically in derp.py line 23 (platform) that aren't getting consolidated into the build with py2exe. It's most definitely how I've setup the options in the setup.py, hopefully someone is more familiar with py2exe than I and can provide some insight.
Click to expand...
Click to collapse
Question, would doing something like this on line 52 do anything:
options = {'py2exe': {'bundle_files': 1, 'optimize': 2, 'compressed': 1,}},
I think you can also do something like:
includeList=["a list", "of modules", "to include"]
first, and then replace the line above with something like...
options = {'py2exe': {'bundle_files': 1, 'compressed': 1, 'optimize': 2, 'includes': includeList}},
see more info here and let me know if the above gets those modules in there! I see some option called "unbuffered".. dunno if that needs to be set to true.
bundle_files to 1 means that it hopefully will end up being a self-contained .exe
Let me know! Thanks!
Suggestion, maybe sticking with MD5 hashes would be simpler as the script receives updates to match Android SDK download updates. I can understand why you would want to use SHA512, but google offers MD5 on the site next the downloads for simple copy/paste replacement.
Click to expand...
Click to collapse
Forgot to answer this. You're totally right that MD5 is the one Google provides, and at first I used MD5 for everything-- then sluo reprimanded me, told me how MD5 can't be taken seriously any more, that it's really really easy for anyone to create a MD5 spoofed file these days... So I figured, since this runs as root, it's better to be very extra super-cautious and make absolutely sure the right file is downloaded
Of course, in a user-provided script, you can use md5s or whatever the author wants, but for the Android tools themselves I figured it was better practice to use SHA512 to be more forward/future looking and make sluo (a *real* programmer) happy
More work done by hashcode on a windows port
Okay strvmarv and other windows folk--
Hashcode helped me out by testing on his machine that has Windows.. we did a little debugging, and the result are these two commits:
Pull Request #1
He was able to run derp successfully and do adb/fastboot commands from the Console interface.
But because he's using win64, he couldn't build (apparently only win32 supports building .exe files) all the way.
So, if you have a win32 system-- after applying these, does python setup.py py2exe build an .exe?
Questions:
* on win32 does it build into an .exe?
* If so, does the .exe run properly as the administrator-- right-click and select "Run as Administrator" I am told
* if so, does it install the android tools and ask you to agree to the License?
* if so, does it download/detect your devices?
* if so, can you run scripts (does it work?)
Note: You may also need to manually install Java, since the android sdk updater uses java.
I'm wondering too if the installer installs any drivers, and/or if any were needed.
Thanks!
fattire said:
Okay, let me take a second and fix the bug I described above... then-- damn, I wish I could try the setup.py myself. So you're saying that the platform stuff doesn't get imported into the build for some reason?
Standby for the fix.. just gotta test it and stuff.
Update: Pushed. Also added /build, /dist, and one other mac build-related directory to .gitignore to make things a little easier to see...
Click to expand...
Click to collapse
Awesome, will take a look tonight. It's very likely I'm just not setting the options in the setup.py correctly.
You're running snow leopard, correct? You could grab a copy of the Windows 8.1 Preview (free until Jan something I believe - http://preview.windows.com) and dual-boot, or even just run a VM...if you wanted. I had to install Python 2.7 x86, wxPython x86, python2exe x86, and then run derp.py from source directly (powershell or cmd) to get where I'm at now.
strvmarv said:
Awesome, will take a look tonight. It's very likely I'm just not setting the options in the setup.py correctly.
You're running snow leopard, correct? You could grab a copy of the Windows 8.1 Preview (free until Jan something I believe - http://preview.windows.com) and dual-boot, or even just run a VM...if you wanted. I had to install Python 2.7 x86, wxPython x86, python2exe x86, and then run derp.py from source directly (powershell or cmd) to get where I'm at now.
Click to expand...
Click to collapse
Ideally I'd like to test it on a win32 system because that's the one that py2exe will make a .exe for. But that said, hashcode has it running and adb installs and works and such. It's now a matter of getting it packaged up properly I think. If you can double-check that it works for you, that would be a good start. Then hopefully the .exe can be made. It should also check to make sure java is installed (which is needed by the Google updater) and if not, maybe help the user do it (or even do it for them)...
Also, his version of windows already had drivers on them, so we're not sure whether derp (well, the android tools installer from Google) will take care of that or not.
One last note-- you may have had problems with the looping downloads because the sha512sum seemed to have been off. I did my own sha and it was different.. The new one worked for hashcode.. it's in his commit linked above..
Thanks!
fattire said:
Okay strvmarv and other windows folk--
Hashcode helped me out by testing on his machine that has Windows.. we did a little debugging, and the result are these two commits:
Pull Request #1
He was able to run derp successfully and do adb/fastboot commands from the Console interface.
But because he's using win64, he couldn't build (apparently only win32 supports building .exe files) all the way.
So, if you have a win32 system-- after applying these, does python setup.py py2exe build an .exe?
Questions:
* on win32 does it build into an .exe?
* If so, does the .exe run properly as the administrator-- right-click and select "Run as Administrator" I am told
* if so, does it install the android tools and ask you to agree to the License?
* if so, does it download/detect your devices?
* if so, can you run scripts (does it work?)
Note: You may also need to manually install Java, since the android sdk updater uses java.
I'm wondering too if the installer installs any drivers, and/or if any were needed.
Thanks!
Click to expand...
Click to collapse
* on win32 does it build into an .exe?
- I'm not win32, I'm running 8.1 x64, but it builds/executes just fine if you're using the 32 bit versions of Python, wxPython, and py2exe due to WOW64, long story
- It does build into an exe, see screen
Output
View attachment output.txt
Screen of dist folder
* If so, does the .exe run properly as the administrator-- right-click and select "Run as Administrator" I am told
- I'm running it with Run as Administrator, no, it still seems to blow up and stop running when it get's to __init__, it appears it can't find it for some reason when built with py2exe, likely the need for inclusion, not exactly sure yet...hard to capture error since it flashes by very quickly and then the console closes
* if so, does it install the android tools and ask you to agree to the License?
- If I run derp.py directly in Python it works just fine, android tools, etc...I haven't tried a script yet
* if so, does it download/detect your devices?
- I haven't tried a script yet
* if so, can you run scripts (does it work?)
- Ditto
Note: You may also need to manually install Java, since the android sdk updater uses java.
- Java SDK already installed, I dabble in Android
These missing modules indicated in build output worry me, not certain how to install them...
The following modules appear to be missing
['Carbon', 'Carbon.Files', 'ElementC14N', '_scproxy', '_sysconfigdata', 'win32api', 'win32con', 'win32pipe']
I've pulled a fresh copy of your repo, added Hashcodes changes, and tweaked the setup.py according to what I've found so far. Still blowing up as indicated above, but still moving in the right direction. If you want to go ahead and merge Hashcode's pull and ignore mine I'll reapply my changes so things don't get weird.
Pull request 2: https://github.com/fat-tire/derp/pull/2
I'll look over py2exe documentation and see if I can figure out what we need to change.
Ah, now we're getting somewhere, I changed console=["src/derp.py"] to windows=["src/derp.py"] as indicated here http://www.py2exe.org/index.cgi/ListOfOptions , get an error on execute, which is dumped into a text file, and looks like this...
Traceback (most recent call last):
File "derp.py", line 48, in <module>
NameError: name '__file__' is not defined
Any ideas?
scriptFolder = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "scripts/")
UPDATE:
This may help...
http://stackoverflow.com/questions/...e-path-of-the-current-executed-file-in-python
Nice.. thanks!
strvmarv said:
* on win32 does it build into an .exe?
- I'm not win32, I'm running 8.1 x64, but it builds/executes just fine if you're using the 32 bit versions of Python, wxPython, and py2exe due to WOW64, long story
Click to expand...
Click to collapse
Ah, cool.
- It does build into an exe, see screen
Output
View attachment 2167579
Screen of dist folder
View attachment 2167586
* If so, does the .exe run properly as the administrator-- right-click and select "Run as Administrator" I am told
- I'm running it with Run as Administrator, no, it still seems to blow up and stop running when it get's to __init__, it appears it can't find it for some reason when built with py2exe, likely the need for inclusion, not exactly sure yet...hard to capture error since it flashes by very quickly and then the console closes
Click to expand...
Click to collapse
The file size looks tiny... it looks like it doesn't build into it all the stuff it needs...
* if so, does it install the android tools and ask you to agree to the License?
- If I run derp.py directly in Python it works just fine, android tools, etc...I haven't tried a script yet
Click to expand...
Click to collapse
^ This is awesome and a good sign for this working once we get the build finished.
* if so, does it download/detect your devices?
- I haven't tried a script yet
* if so, can you run scripts (does it work?)
- Ditto
Click to expand...
Click to collapse
Now that I think about it-- the "welcome" stuff and auto-download of the tools are all a running .derp script (welcome.derp) so yes, you are running them
These missing modules indicated in build output worry me, not certain how to install them...
The following modules appear to be missing
['Carbon', 'Carbon.Files', 'ElementC14N', '_scproxy', '_sysconfigdata', 'win32api', 'win32con', 'win32pipe']
Click to expand...
Click to collapse
Hmm.. Did you try adding them explicitly in the optionList as I suggested above?
And another way to do it is to use the -p and -i paremeters when you do python setup.py py2exe
Also maybe try adding:
import win32com
after "import py2exe" in setup.py I saw some reference to that somewhere...
What else...
looks like elementc14n is something related to the elementree module of python... win32api is here I think... but I think it would be installed when you installed python to begin with.
I've pulled a fresh copy of your repo, added Hashcodes changes, and tweaked the setup.py according to what I've found so far. Still blowing up as indicated above, but still moving in the right direction. If you want to go ahead and merge Hashcode's pull and ignore mine I'll reapply my changes so things don't get weird.
Pull request 2: https://github.com/fat-tire/derp/pull/2
I'll look over py2exe documentation and see if I can figure out what we need to change.
Click to expand...
Click to collapse
I'm looking too... See this?
For py2exe to work with packages loaded during runtime, the main thing seems to be that u explicitly import the modules needed by your app somewhere in your app. And then give py2exe in setup.py with moudlefinder.AddPackagePath( , ) the hint, where to search for modules it couldn't find by std. introspection. in the app
I won't do a full-on pull to the repo until everything is working and tested against linux/mac just to make sure we're only fixing stuff and not breaking the other platforms in the process
strvmarv said:
Ah, now we're getting somewhere..
UPDATE:
This may help...
http://stackoverflow.com/questions/...e-path-of-the-current-executed-file-in-python
Click to expand...
Click to collapse
Ah yes-- does this help as recommended in the link above..?
http://www.py2exe.org/index.cgi/WhereAmI
fattire said:
Ah yes-- does this help as recommended in the link above..?
http://www.py2exe.org/index.cgi/WhereAmI
Click to expand...
Click to collapse
jpath wouldn't pull in for some reason, despite installing via pip and having an import, so I resorted to logic to assign "." as the path (very hacky)...
So, here it is...running from derp.exe compiled with py2exe...when I get a moment I'll put together a quick summary of how to get a local win environment going..
Here's another pull:
https://github.com/fat-tire/derp/pull/3
UPDATE:
Ack, storing sdk tools in Program Files\Common Files is great and everything, but it needs to be store in Program Files (x86)\Common Files since it's x86 compiled. Pretty sure things may go wrong at some point as it is...
Hello, I have a stock XOOM WiFi (Wingray) and have been looking at installing a custom ROM. I am doing it for fun, knowledge, and to hopefully get a little better performance out of my XOOM.
I currently use my xoom for Web Browsing, XBMC, and Sling Player...
I have been searching the Web and this Forum for information on how i can do this, step by step but i am lost. I know that i have to do the following:
1.Unlock Boot loader (Lord AIO Tool, was unsuccessful which is why i started the thread to post useful links after i succeed.)
2.Modify the Recovery Partition.
3.BigPart
4.Install Custom ROM (Based on whatever Android Ver / Kernel)
I am running Mac OSX 10.8, have a windows VM, and access to a windows laptop if needed.
*EDIT*
Results: I used my Windows Laptop and started to have some success with the Lord AIO Tool. i dont see why the VM wouldn't work, but i had given up on the VM thinking it may have cause a problem.
Steps Needed:
1. Download Motorola Fastboot Drivers:
https://motorola-global-portal.custhelp.com/app/answers/detail/a_id/88481
2. Download ADP Tool (or Install Android SDK and add appropriate locations to your System Path)
ADP Tool: (Awesome)
http://forum.xda-developers.com/showthread.php?t=2588979
Android SDK:
http://developer.android.com/sdk/index.html
3. Download Lord AIO Tools: (also, Awesome)
http://forum.xda-developers.com/showthread.php?t=1468298
4. Download the ROM you need. I used OMNI 4.4.2 (Also needed Big Part, and this too is Awesome)
http://forum.xda-developers.com/showthread.php?t=2593757
Big Part:
http://forum.xda-developers.com/showthread.php?t=2506997
5. Download Super User Root zip file.
6. Format an microSD Card FAT32 and copy over the following files:
TeamWin Recover Partition
TeamWin Recovery Partition Big Part (only needed for ROMs that need larger partition.
Super User
OMNI ROM (or whatever ROM you want)
GApps (one of the Google Apps. I used the gapps-wingray-kk-20131223.zip)
7. Follow Instructions for Lord AIO Tool installation and then do the following:
Run the tool and unlock the boot loader (enter option 03, not 3, but 03)
When done you need to install The recovery partition, i used TeamWin RP. (This is option 09 in the Lord AIO Tool)
Then i rebooted into recovery mode and was in the TeamWin RP menu. From there i Flashed the BigPart, then ROM, then Gapps, and then the Super User to Root.
I think there is an option to Root from the Lord AIO Tool, but i dont think i used it at all.
I was trying stuff all day and when it's all said and done I think that's basically what i did, things didnt always work on the first try and i had some trouble mounting the microSD in the Recovery Partition.
I put this here to hopefully give people new to the game a run down of what to do. i did a lot of searching yesterday and was spinning my wheels. and some of the old threads i found were quite technical and had dead links. (not necessarily from XDA) It's not a Step by Step for the XOOM but will hopefully get people who are late to the game a good start.
tonycajjo said:
Hello, I have a stock XOOM WiFi (Wingray) and have been looking at installing a custom ROM. I am doing it for fun, knowledge, and to hopefully get a little better performance out of my XOOM.
I currently use my xoom for Web Browsing, XBMC, and Sling Player...
I have been searching the Web and this Forum for information on how i can do this, step by step but i am lost. I know that i have to do the following:
1.Unlock Boot loader (Lord AIO Tool, was unsuccessful which is why i started the thread to post useful links after i succeed.)
2.Modify the Recovery Partition.
3.BigPart
4.Install Custom ROM (Based on whatever Android Ver / Kernel)
I am running Mac OSX 10.8, have a windows VM, and access to a windows laptop if needed.
*EDIT*
Results: I used my Windows Laptop and started to have some success with the Lord AIO Tool. i dont see why the VM wouldn't work, but i had given up on the VM thinking it may have cause a problem.
Click to expand...
Click to collapse
I use the Lord AIO Tool on desktop Windows 8.1 and when I ran the Set_Up.bat as Admin, it say file is missing. Not sure what i did wrong.
cat2115 said:
I use the Lord AIO Tool on desktop Windows 8.1 and when I ran the Set_Up.bat as Admin, it say file is missing. Not sure what i did wrong.
Click to expand...
Click to collapse
i did not need to run as Admin, possibly cause the user was already admin. i had issues when i ran as admin... that's one thing i forgot to add above. (I ran it on Win7 32-Bit)
2. Download ADP Tool (or Install Android SDK and add appropriate locations to your System Path)
ADP Tool: (Awesome)
http://forum.xda-developers.com/show....php?t=2588979
Android SDK:
http://developer.android.com/sdk/index.html
also, try moving LAIOT to C:\ if not already there.
after you install ADP tool you may have to reinstall LAIOT, delete the files and just start over using the setup.bat
Stuck on step seven
I will be very grateful of any help stuck on step seven it says too many parameters
floydme said:
I will be very grateful of any help stuck on step seven it says too many parameters
Click to expand...
Click to collapse
what part of step 7? my step 7 is pretty broad.
tonycajjo said:
what part of step 7? my step 7 is pretty broad.
Click to expand...
Click to collapse
After running setup bat on the second return key hit I I get too many parameters message
Perfect (step by step)
Followed this step by step, utilizing this process as well as the individual threads regarding each part (Big Part Partitioning, LORD AIO Tool-with file folder placed on "C" drive, etc.) and worked like a charm.
This thread should become sticky and placed at the very top for Xoom Rooting guide.
Stingray Xoom
kamikazebeats said:
Followed this step by step, utilizing this process as well as the individual threads regarding each part (Big Part Partitioning, LORD AIO Tool-with file folder placed on "C" drive, etc.) and worked like a charm.
This thread should become sticky and placed at the very top for Xoom Rooting guide.
Stingray Xoom
Click to expand...
Click to collapse
good stuff, glad it helped.
floydme said:
After running setup bat on the second return key hit I I get too many parameters message
Click to expand...
Click to collapse
can you write explicitly what the error says, and when you hit "enter" the second time what are you exactly hitting enter to?
also include a bit of info on what OS you are using, where you have stuff installed, and so on.