UPDATE: 09/12/2016 (dd:mm:yyyy, just in case).
The guide has been updated! . Enjoy it guys :fingers-crossed:.
I'm not responsible for anything that happens with your phone, also, some people experienced some bricks on certain devices, so, just take care where you put paths and data because your phone maybe vulnerable to bricks!
Hi guys, assuming that you read the disclaimer above, so you understand what you're doing, also, and not less important, that this will most likely void your phone's warranty.
Ok, let's go.
Firstly... what's Freenet? From Wikipedia
Freenet is a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web without fear of censorship. Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech on the Internet with strong anonymity protection
Click to expand...
Click to collapse
As Freenet started, they don't gave any signal of being ported as an APK for Android (or something like this) so, we'll enjoy the availability of OpenJDK for ARMEL and ARMHF thankfully to the development of Raspberry Pi and Arduino (and whatever else kind of free hardware).
What do I need?
You need to:
Download and install "Linux Deploy" (from Google Play)
Download and install a SSH Client (for Android) or this one (for Windows/Linux/Mac PC) (how to use below).
At least, 768 mb of free space on your internal or external memory (anywhere you want to put your distro)
Free space on your internal memory, or a SD Card. If you're going to use your SD Card make sure it's working well.
A good internet connection (to retrieve the packages) [ 6 mbps or more recommended ]
System Requirements
CPU: 1 GHz dual-core (any)
RAM: 512 mb
SD Card: 8GB Class 4 Memory Card(at least)
First part: Installing a Linux Distribution on your Android Device
Open "Play Store", search for "Linux Deploy" (or open the Play Store link written above).
Tap the first result and install it.
{
"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"
}
Open "Linux Deploy" and tap the "Download" icon.
Then, set the settings below like this (unless you want to modify them and you know what you're going to do)
Distribution: Debian - I suggest to not change it, because OpenJDK/Oracle Java have trouble with other distros in ARMEL and / or ARMHF.
Distribution suite: wheezy - I suggest to not change it, because OpenJDK/Oracle Java have trouble with other distros in ARMEL and / or ARMHF.
Source path: http://ftp.debian.org/debian/
Installation type: File
Installation path: /sdcard/linux.img - to install to the internal memory (unless your phone isn't partitioned with a fake internal SD, else this will be your external SD), if you are planning to use your external SD leave it untouched or if you changed it write the variable ${EXTERNAL_STORAGE} instead of /sdcard.
Image size (MB): Whatever you want more than 768, in MegaBytes. - I suggest 3 GB ( 3000 MB* ) to make sure that the OS will have space for all what it wants to save.
File system: Auto
User name: android
User password: android
SSH > Enable: tick
It should look like those screenshots:
Marked parts with a red square are the most important things you should change as explained above.
That's all, don't touch anything else, unless you know what it does.
Now, get back to the application's main screen and tap "Menu" (your device's menu button or the three dots button at the top of the screen) and then "Install", it will give a popup saying: "Start installation of GNU/Linux system?"; tap "OK".
Allow the application to get root permissions.
WARNING: I've noticed a programming error in the software which makes it unable to wait the user to allow the superuser permissions. That way, the program fails sometimes to start the installation. If that happens, just tap Stop and then repeat the installation steps above and it'll work.
Then, wait until it installs the OS, and make sure you don't close the app and don't lose WiFi, losing WiFi connection will result in an unfinished and non-working Linux installation, then you'll need to delete "linux.img" and re-install, so take care; also for battery, make sure that it's nicely and lovely charged.
The installation, depending on your CPU, RAM and Internet Bandwith, will take up to, aproximately 3 or 4 hours.
For me, it took one hour (downloading at 6 Mbps).
When the installation ends, you'll see something like:
[xx:xx:xx] <<< deploy
Click to expand...
Click to collapse
(where x(s) were the current time when the process ended)
That for the last line.
It should look similar to this screenshot:
Second part: Preparing your distro for Java and Freenet
When you see the message explained in the above screenshot, you're able to tap "Start".
Tap "Start", and then "Ok". It should look like those screenshots:
When it successfully (or not) starts, it'll say:
[xx:xx:xx] <<< end: start
Click to expand...
Click to collapse
Like this:
Then, you'll see on the NavBar your IP address, for me, it is "192.168.1.115" (local). We're actually going to use Putty from Windows. A basic Putty usage will be explained in the next screenshots:
Browse to http://www.putty.org and click in the download page link:
Do the steps in order as shown in the screenshot:
Open putty.exe (yeah, I'm captain obvious)
Fill the text box with your phone's local IP address and then click "Open".
Hit "Yes" for that warning.
Congratulations! If everything's fine, you should see something like this:
Once done, type the next command hitting enter after every command:
Code:
sudo -s
nano script.sh
Then, copy this code:
Code:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer
(thanks to WebUpd8 for the repo and the commands list for Wheezy)
And paste it in Putty's window right-clicking anywhere in the window's black space.
Now run:
Code:
sh script.sh
Follow the installation steps shown by the script and don't forget to accept any of the terms and conditions shown by Oracle's Java installer.
When it installs, you can type:
java
To check if it works; if it works it'll give you the help menu.
Okay, then, type:
wget 'https://freenetproject.org/jnlp/freenet_installer.jar'
And then:
java -jar freenet_installer.jar
When you complete the wizard, you need to run it, so, do
cd <where you put it>
And then do
sudo nano run.sh
edit the line where it says "./bin/wrapper...." and "./bin/1run.sh...." change them to "/bin/wrapper..." and "/bin/1run.sh...., then, save with CTRL + O and Y.
Right now, you can do:
./run.sh start
Let Freenet do the first run, when it completes (about 10 minutes), visit in your Android browser that URL:
http://127.0.0.1:8888/
Complete the wizard, and then, you're done, you can use Freenet exactly as you do with your PC
Third part: My phone is lagging and Freenet / whole Distro aren't responding! What should I do?
Remember, nothing is perfect, an entire OS running behind another is a nicely big task assuming that it's an ARM processor and it's running on a phone, but you can do something to get it a bit more responsive; just do it:
Clean your RAM before opening your browser, to make sure that all other trash is removed
Have your phone in a cold state, at least during Freenet bootup and during node announcement
Shut it down properly (stop Freenet with CTRL + C and then, after all is closed tap STOP on the Linux Deploy's UI)
Freeze bad programmed apps, such as: Files Managers (almost all of them), Google Now (Google Search App), Facebook, Fancy Widgets, Google Play Services, Google Play Store, Messenger, Whatsapp and almost every game
Switch to another ROM that's better managed than stock or your current custom; for the Alcatel One Touch Idol 6030a I suggest to switch to DragonPL wich is the better that I found for that phone, anyway it's for the MT6882, I checked that it works perfectly!
And, at last, reboot your phone, it might be good; if you reboot it, please make sure that you do a Full Reboot and not a Software Reboot, because of doing a Software Reboot may leave some data loaded to RAM and it will be exactly the same (or worse) that leaving it as it is.
Hope you enjoy it! Leave a "Thanks" if you like it!
Very big THANKS!
I personally tested the this guide, it's awesome!
Anyway I suggest to include a little guide to install oracle java8 since openjdk7 is quite old and Freenet complains about it.
Personally it's not a big deal, but for others can be difficult.
EDIT: I'm on SM G850F and it runs perfectly.
Cobmaster said:
I personally tested the this guide, it's awesome!
Anyway I suggest to include a little guide to install oracle java8 since openjdk7 is quite old and Freenet complains about it.
Personally it's not a big deal, but for others can be difficult.
EDIT: I'm on SM G850F and it runs perfectly.
Click to expand...
Click to collapse
Thanks for your contribution at making this guide better.
I believe the Java thing can be solved by just updating apt-get's database and running the installation command changing the 7 for an 8. Please reply if it's just that or tell me what you did to get it to work with Java 8 and I'll add it to the guide.
Also, it's likely to be outdated. I thought no one was going to see it anymore, I'll update it later . Just tell me that, please.
EDIT: I've updated the thread with all the new requirements and setup. All done, enjoy it .
Smith Jones said:
This is insightful.
Click to expand...
Click to collapse
Thanks . I hope you enjoy Freenet's power .
facuarmo said:
Thanks for your contribution at making this guide better.
I believe the Java thing can be solved by just updating apt-get's database and running the installation command changing the 7 for an 8. Please reply if it's just that or tell me what you did to get it to work with Java 8 and I'll add it to the guide.
Also, it's likely to be outdated. I thought no one was going to see it anymore, I'll update it later . Just tell me that, please.
EDIT: I've updated the thread with all the new requirements and setup. All done, enjoy it .
Click to expand...
Click to collapse
I was about to write a reply, but you are fast! Good job!
:good::good:
Cobmaster said:
I was about to write a reply, but you are fast! Good job!
:good::good:
Click to expand...
Click to collapse
Thanks. Your post made me re-read the thread and notice how outdated it was, .
Related
Alright, straight to it.
This is iAPK Suite 0.9. The newest incarnation of iAPK. It's functions have been vastly increased, while keeping it's sole purpose still unique.
The new version of iAPK merits it a new name, iAPK Suite. This means it not only installs APKs, it is a full fledged manager. It installs, deletes, backups, and restores APKs from your respective Android devices. Aside from being drag 'n' drop friendly, i've incorporated a tremendous amount of useful features. Hell, it even signs APKs with a simple click.
There are currently two versions. iAPK Suite and iAPK Mini. The Suite version allows full APK management, while the mini just has simple drag and drop as well as the docking panel without any other APK functions which makes the file size practically cut in half.
Mind you, the usage of this application gets a lot easier when you learn all of the shortcuts I implemented to making things a lot quicker. A wiki will be made to explore everything about iAPK and how to use every function i've built into it, even the not so obvious ones
..:: Screenshots ::..
{
"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"
}
..:: Features ::..
- Sleek Drag n' Drop User Interface
- Docking Panel
- File Type associations with .apk files
- APK Management
- Signs APKs
- Drag Multiple APKs for installation
- Drag Folders containing APKs for installation
..:: Wiki ::..
iAPK Suite 0.9 Wiki *DOWN*
..:: Download ::..
Download iAPK Suite for Windows (LINK UPDATED JUNE 2012)
..:: Issues/Todo ::..
- adb sometimes has an issue with apks installed from folders with spaces in their name. (Working on a fix)
- small animation glitches tend to appear depending on the environment. (Does not pose any functional problems)
- a system tray icon needs to be added to allow for easy configuration of certain adb options/switches. (Working on)
- several adb switches need to be added to allow forced apk installed (-r) and other various tags. (Working on)
- deleting apks has not been testing thoroughly. (Waiting for feedback)
- iAPK needs an installer instead of being just compiled into a zip. (Working on)
..:: Changelog ::..
v0.9
+ Added quicker docking panel
+ Added File type associations with .apk files
+ Added APK management through the Android Device Bridge (adb.exe)
+ Added APK manifest dumping using the Android Asset Packaging Tool (aapt.exe)
+ New UI built from scratch
+ New Information panel notifier
+ Added a mini version for smaller file size
v0.3
+ Added Update Checker(Now notifies the user if an update is available)
+ Added Directory APK Installing(Not tested)
+ Now checks to see if adb is in $Path or already specified instead of always making a copy of adb locally(Not tested)
+ Added a configuration panel(Intended for internal use, otherwise no use right now)
- Taken out some un-needed functions(may work a little faster for some people)
++ Will be available for Mac OSX, Linux in the next release.
++ Will incorporate a default filetype & shortcut for windows(allows auto-install on doubleclick)
v0.2
+ Added Multiple APK Installing functionality (Drag and Drop multiple APK's)
+ Cleaned up some more code
+ Operation manager for internal use (Allows for batch calculation and apk management)
+ Added small tool tip for future use
+ Added an operation summary at the end of each..operation.
- Taken out 99.9% of the popups
- Taken out clunky option gear graphic
++ Coming soon... Just mention it.
This application works globally for ANY Android Device. Posting it in here is just because i'm in this sub-forum a lot. But this application will work with ANY Android device. It would be nice if this thread was pinned for easy access
Pretty cool. Heres another alternative i use. I just created a batch file where i made it pickup a file as an argument and "adb install -r" it. I compiled it to an exe and gave it an icon and set it as a default program for apk's. Here it is for those interested. You can either set it as default program for apk filetype, or just drag an apk into it.
Link
I like it. Simple and nice interface and easy to work with it
Thanks
10 char.
qberty said:
Hey xda inhabitants!
Here's something I made to shorten APK installing. This is my take on an easy drag and drop apk installer with quick and to the point functions. It's very simple and straight forward, drag and drop your APK onto my program, and it will install it over ADB to your phone! Very simple as opposed to using the 0.04 second long browse button, Dragging and dropping saves a bunch of time!
Screenie-bo-beenie
Download-oh-...err
1.4MB RAR
1.6MB ZIP
Please let me know if you want features that adb can provide or ..just anything you want implemented.
Click to expand...
Click to collapse
Interesting. Does it support multiple/batch apk files? That would be useful for a restore.
wow..nice one
if can drag multiple apk files and batch install would be nice
Binary100100 said:
Interesting. Does it support multiple/batch apk files? That would be useful for a restore.
Click to expand...
Click to collapse
pingy_ping said:
wow..nice one
if can drag multiple apk files and batch install would be nice
Click to expand...
Click to collapse
Hmm..You guys are right.. it does not support multiple apks... It might since it's through adbs command, not sure if that would work. But I have a method of making multiple apks work at once. Lemme throw that on the table.
...Done.
Updated, and fixed v0.2 link.
pretty sweeet
sweet, love the idea of batch installs! Save a lot of time when switching between roms
Thanks! If anyone has anything else they want added. Let me know.
color me stupid but i cant get this to work...
may be that im on a pc at work.
there is nothing fancy needed to get it to work is there?
i am able to use the sdk tools and ADB can see my phone but the app keeps saying failed
any ideas would be great.
ceasee said:
color me stupid but i cant get this to work...
may be that im on a pc at work.
there is nothing fancy needed to get it to work is there?
i am able to use the sdk tools and ADB can see my phone but the app keeps saying failed
any ideas would be great.
Click to expand...
Click to collapse
I did some quick debugging and I found out that I broke the single APK installer by adding the multiple batch one. Damn lol. Well for now, untill I release the completely working one, just drop two or more apks on it for them to properly work. That is an error on my part, must have forgot an if/then/else somewhere along the road, I'll fix it now. Should be compiled within an hour. Thanks
Terribly sorry for the confusion. I have fixed the weird problem. Everything now works as it should. Please re-download v0.2 from the original post.
This is a really Nice utility
I have a couple of requests. Feel free to make them come true
1. Make it so if set as a default app for apks, when i double click an apk it launches this program, installs the apk, then shuts the program.
2. Make it so it detects if adb is currently in $path, u can do that using something like errorlevels in batch. So if it detects it, then it shouldnt have to extract the files such as adb and the dlls.
Just my $0.02
Great!! thanks!
Daneshm90 said:
1. Make it so if set as a default app for apks, when i double click an apk it launches this program, installs the apk, then shuts the program.
Click to expand...
Click to collapse
This.. is not the easiest thing to do, since I would now need to make my app utilize commandlines in win shells to allow me to add apk file locations to a command to be installed quickly. It's definitely possible, but unfortunately i can't complete it within an hour so, that'll take a bit longer.
Daneshm90 said:
2. Make it so it detects if adb is currently in $path, u can do that using something like errorlevels in batch. So if it detects it, then it shouldnt have to extract the files such as adb and the dlls.
Just my $0.2
Click to expand...
Click to collapse
This is definitely an easy task, never thought of that, consider it done as I have the exact code in my head
I'll compile everything when I get homerz.
$0.2 is actually 20 cents... wow. You put a lot thought into this one. lol
Anyway, keep in mind, I can do..just about ANYTHING with this app. So don't hold back with your suggestions.
qberty said:
This.. is not the easiest thing to do, since I would now need to make my app utilize commandlines in win shells to allow me to add apk file locations to a command to be installed quickly. It's definitely possible, but unfortunately i can't complete it within an hour so, that'll take a bit longer.
This is definitely an easy task, never thought of that, consider it done as I have the exact code in my head
I'll compile everything when I get homerz.
$0.2 is actually 20 cents... wow. You put a lot thought into this one. lol
Anyway, keep in mind, I can do..just about ANYTHING with this app. So don't hold back with your suggestions.
Click to expand...
Click to collapse
lol my bad. Typing on phone/in a hurry don't go too well
Btw wht did u write this in ? vb?
qberty said:
This.. is not the easiest thing to do, since I would now need to make my app utilize commandlines in win shells to allow me to add apk file locations to a command to be installed quickly. It's definitely possible, but unfortunately i can't complete it within an hour so, that'll take a bit longer.
This is definitely an easy task, never thought of that, consider it done as I have the exact code in my head
I'll compile everything when I get homerz.
$0.2 is actually 20 cents... wow. You put a lot thought into this one. lol
Anyway, keep in mind, I can do..just about ANYTHING with this app. So don't hold back with your suggestions.
Click to expand...
Click to collapse
Anything? Lol (I won't go there!) What is the advantage to this verses using su file manager to just copy and paste within the phone? I guess I should just try it out, but didn't want to waste my time cause I have no problems with adb commands, but some of my friends might like it! Thanks!
Hi folks,
I'm relatively new to XDA and similarly new to smartphones. My old dumbphone broke down and finally got an android device, samsung galaxy note, I really liked the huge screen.
I've been using linux for 2 decades now and chose an android device because everyone was telling me how it is linux-based which sounded like a good selling point. I'm quite pleased actually but have a few questions all of them related to my expectations that the OS will be linux-like:
1. I've been reading about rooting the phone and the like, but nobody explained the basics: why is it a special procedure to root the phone, why isn't it simply multi-user like any desktop linux? You could log in like a normal user or like root and that would be it. I guess there are serious reasons for the current design but it certainly doesn't seem natural at all.
2. In linux I can always figure out what the UI does in terms of the command line, so for instance if I use something on the UI (click an icon or bring up a menu) I can almost always do the same from the command line. This way I really know what's going on and if needed I can customize things. Case in point: right now I have to tap the phone a couple of times until I get to the broadband data transfer ON/OFF switch. It would be really neat to have an icon on the home screen that would do this. But I can't figure out what "command" needs to get executed to bring up the data transfer ON/OFF switch, so I really don't know how to create such an icon. This is just an example, I could come up with others easily, stuff I'd like to do, but can't figure out what happens under the hood. And it seems people create all sorts of simple trivial apps for these kinds of simple trivial tasks, when it should be possible to hack something up really fast. Any pointers on how to see what a UI interaction does and how to replicate it in a slightly different context? For example the broadband data transfer ON/OFF switch on the home screen?
3. I'm missing bash and top, ping, kill, cat, ls, etc, etc, Is there such a thing? (I already found connectbot but it would be nice to have scp and ssh inside a shell).
4. On my linux notebook I have a bunch of ad servers in /etc/hosts redirected somewhere else so they don't consume my bandwidth and don't clutter the webpage I'm trying to read. Can I have something similar on the phone? Is there something like an editor? I normally use vi, would be great to have that on the phone.
5. What controls the startup applications on boot? There are a bunch of stuff I bet I don't need but can't tell the phone to not start them. I guess I need to "root" the phone for this, but see question 1 Something related, I heard it's not possible to delete the factory installed bloatware without "rooting" the phone, is that true?
I guess that's it if anyone would make me feel as at home on the android phone as I feel at home on a linux desktop/notebook/etc I would be really grateful!
Cheers,
Daniel
1) Because the phone manufacturers lock Avg. Joe out of the system files to keep them from doing potential harm to the software. It saves your carrier millions per year in technical support costs.
2) Hold your finger down on an open section of the homescreen to open up a menu that will allow you to create shortcuts to important commands. You may also wish to install a custom Launcher that has more customizable features compared to whatever stock Launcher your carrier put on it.
Addendum: Root your phone, then install "Terminal Emulator" from the Play Store. Type in "su" and you'll then have superuser access to your phone's command line. From that point, it's pretty much exactly what you'd expect from Linux.
3) See Addendum to 2.
4) You could do it yourself, or let others do it for you. Root your phone, then install "AdFree" from the Play Store. Set up AdFree to automatically update and you're good to go.
5) 2 ways to get rid of bloatware, either root and use the Terminal to delete it yourself, or root and install a custom ROM that already has it removed. I highly, highly suggest rooting and switching to Cyanogenmod 9 as soon as possible. Go to your phone's specific forum on this site for instructions for practically everything you could ever want to do with your phone.
Note to 5: Your carrier sticks its bloatware into your system files, instead of in your user accessible app data. To change system files in any way, you'll need root access to your phone.
Here's a link to the development section for the Galaxy Note, please read all the rules and very thoroughly read all instructions before actually doing anything to change your device in any way:
http://forum.xda-developers.com/forumdisplay.php?f=1349
sreza said:
1) Because the phone manufacturers lock Avg. Joe out of the system files to keep them from doing potential harm to the software. It saves your carrier millions per year in technical support costs.
Click to expand...
Click to collapse
I see, makes some sense for them, but I'm wondering if Microsoft can afford to have an Administrator account exist on Windows, why can't android be shipped that way (rhetorical question).
Addendum: Root your phone, then install "Terminal Emulator" from the Play Store. Type in "su" and you'll then have superuser access to your phone's command line. From that point, it's pretty much exactly what you'd expect from Linux.
Click to expand...
Click to collapse
Looks like this is what I have to do
I highly, highly suggest rooting and switching to Cyanogenmod 9 as soon as possible.
Click to expand...
Click to collapse
On the cyanogenmod website I don't see samsung galaxy note listed as a supported device.
http://forum.xda-developers.com/forumdisplay.php?f=1349
Click to expand...
Click to collapse
Thanks, this is very helpful.
Another n00b question: how the hell does one quit the default browser? It looks like there is no way to close the last remaining window.
fetchinson said:
I see, makes some sense for them, but I'm wondering if Microsoft can afford to have an Administrator account exist on Windows, why can't android be shipped that way (rhetorical question)
On the cyanogenmod website I don't see samsung galaxy note listed as a supported device.
Another n00b question: how the hell does one quit the default browser? It looks like there is no way to close the last remaining window.
Click to expand...
Click to collapse
Because Windows can't afford to alienate power users by locking down their system. If they did, they'd be Apple. Also, remember that it's not Google that's locking you out of root, it's the phone manufacturer/carrier; which aren't exactly known for being bastions of ethics...
Windows is actually starting to lock you out of functions with Windows 8, the ARM version of Win8 can't sideload applications.
Cyanogenmod might not be officially supported for the Note, but there's probably a few devs on the Note's forum that are unofficially making a port. Try this ROM:
http://forum.xda-developers.com/showthread.php?t=1552554
There is a way to close the final window if you go into the browser menu and close it, but it's really not necessary. Android will auto-close old background tasks if you start to run low on memory. You may also want to look into downloading a different browser from the Play Store. I've never bothered, but I've heard good words about Opera Mobile. Dolphin HD is absurdly popular, but at it's heart it's basically the stock browser reskined, which offends my sensibilities, lol.
Also, if you're on ATT, you may want to check out these instructions on how to get unlimited data on smartphones for $15 per month:
http://forum.xda-developers.com/showthread.php?t=1446373
Thanks for all the useful info!
While looking further around on the phone I stumbled upon another thing which would be quite trivial on ordinary linux: how do I see the creation/acces/modification times for any file? I've installed Terminal Emulator from github, "ls" works, but not "ls -al".
Also, how do I check if there is any network access at all or if an application tries to access the network or not? On linux I would run the program though strace and that would show me all system calls so I would see what the application is up to. For instance the S Note application (it's a samsung note taking application for the Note) takes a long time when I save a note, which makes me think maybe it wants to sync the file to a samsung cloud service or something like that. How do I check what takes so long for this app, in particular if it wants to access the network or just plain slow?
fetchinson said:
Thanks for all the useful info!
While looking further around on the phone I stumbled upon another thing which would be quite trivial on ordinary linux: how do I see the creation/acces/modification times for any file? I've installed Terminal Emulator from github, "ls" works, but not "ls -al".
Click to expand...
Click to collapse
With the terminal, I'm not sure, but you could download one of many file managers from the Play Store and view the files' properties through that.
Edit: I have Terminal Emulator from the Play Store, and "ls -al" works fine for me (see screenshot). I'm also using Bash for my shell, so that could be it. Also, see about Busybox below.
{
"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"
}
Also, how do I check if there is any network access at all or if an application tries to access the network or not? On linux I would run the program though strace and that would show me all system calls so I would see what the application is up to. For instance the S Note application (it's a samsung note taking application for the Note) takes a long time when I save a note, which makes me think maybe it wants to sync the file to a samsung cloud service or something like that. How do I check what takes so long for this app, in particular if it wants to access the network or just plain slow?
Click to expand...
Click to collapse
You can probably find an app in the Play Store with that functionality. Wireshark is in there, so I'm sure something like strace has been done.
Also, look into installing Busybox from the Play Store. It provides a lot of the normal Linux terminal commands you might be missing.
EndlessDissent said:
Edit: I have Terminal Emulator from the Play Store, and "ls -al" works fine for me (see screenshot). I'm also using Bash for my shell, so that could be it.
Click to expand...
Click to collapse
Sweet! So how did you get Bash? Is it something working together with Terminal Emulator or a separate application (whatever the appropriate android lingo is )? If I search the play store for "bash" I don't really get anything resembling a shell, but probably I'm just overlooking something obvious. Installing this would be a great start.
EndlessDissent said:
Also, look into installing Busybox from the Play Store. It provides a lot of the normal Linux terminal commands you might be missing.
Click to expand...
Click to collapse
Thanks, this looks great too!
Going the Other way
Hi
Android and it UI's is not like any X11 based desktop, but buying an android devices is what got me into using linux as my main desktop and I tend to think as them as one and them same at a command line level at least.
If you comfortable with building from source you can cross compile any tools you are missing.
They numerous time saving widgets and the like on google play. i.e wifi toggling which sit right on your main screen.
You'll find that most utilities and useful stuff has been ported to android.
If you want to use vim I would download "terminal ide" which is an IDE which runs on android, if your familiar with java you can create application directly on the devices
it also contains bash, busybox and more.
Busybox is a multicall binary. Androids native one is called toolbox and can be found in /system/bin. If you want to port your favourite bash scripts over then there's script managers which will run scripts at startup etc.
Obviously with these optimized binary all the help and in the case of android toolbox, any command not need by the system is general left out. It's not meant for as a general purpose shell.
Trivia: splitting up you parameters when using toolbox can sometime help e.g "ls -l -a" works where as "ls -al" didn't
You can remount the root and /system as read writable, a man of twenty years linux doesn't need the dangers of that explaining.
There's a plethora of Root tools for removing system packages and general tweaking, google play is you friend in this case.
If the android UI really does not live up to your expectations than you always install Ubuntu.
When you rooted your device and unlocked you bootloader and basically voided any manufacturers warrenty (not something I care about, but I t seems important to some people ) that came with the device you just got a computer with a different cpu architecture, so the opportunities are limitless with what you can do with it
Have Fun!
T
Proprietary Lib Cleaner (PLC)
Linux shell script that allows you to silence certain lines from chatty proprietary binaries/libs which makes logcat actually readable, instead of it getting spammed by binaries such as mpdecision or thermal-engine.
Made with intention to be easily extensible for end-user. (would love to see a big database of hexxable strings)
Article featured on XDA Portal!:
http://www.xda-developers.com/android/clean-up-your-logcat-code-with-lib-cleaner/
Why I have created it.
I have made this shell script because I have experimented earlier with replacing hex strings in proprietary files, which worked out very well. I have had a lot of hassle trying to make the hex string replace work. But I found this great tool called Swiss File Knife that allows you to make hex replacements by just entering the string. Because of this it was very easy to create a template system so that users can easily add more entries to the database, rather then needing to adjust code of script every time.
{
"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"
}
The template system works like this:
Every binary/library is placed in the corresponding directory but in a virtual replication, in these files are the lines that need to be hexxed out of the binaries are present. nothing less nothing more.
Example 1:
~/ProprietaryLibCleaner/dbs/system/bin contains mpdecision which is a regular text file with the following strings inside it:
Code:
num online cores: %d reqd : %d available : %d rq_depth:%f
hotplug_avg_load_dw: %d
UP cpu:%d core_idx:%d Nw:%f Tw:%d total_time_up:%f
DOWN cpu:%d core_idx:%d Ns:%f Ts:%d total_time_down:%f
cpu%d: core_idx: %d uptime: %f downtime %f
cpu%d: core_idx: %d Nw: %f, Tw :%d, Ns: %f, Ts: %d, util_high_and:%d
cpus_up: %d cpus_down: %d thermal_mask: 0x%x
Example2:
~/ProprietaryLibCleaner/dbs/system/lib/hw contains sensors.msm8960.so which is also a regular text file since its a patch, it only has a simple reference inside (but a very annoying one)
Code:
mCompEngine is NULL
These 2 examples are listed in the shell script, when more is added it is automatically appended in the 'database'
Last but not least is the patching process which is done on a 'fail-safe' method, it first checks whether its actually applicable before making any changes, if not it will skip it, so it won't make your files unusable
Instructions for normal usage:
1. Download latest release
2. Unpack somewhere on PC
3. Run script with ./PLC
4. Install ADB + ADB USB Driver if not installed
5. Install Swiss File Knife on Phone if not installed
6. View targets & patches
7. Set target and patch
8. Profit
Downloads
Latest version: v0.7 - here or here
Github page:
https://github.com/broodplank/ProprietaryLibCleaner
Additional Credits:
stahlworks - Swiss File Knife
Changelog
Version 0.7 - 19/04/2014
- updated adb downloading method
Version 0.6 - 19/04/2014
- updated lines of mpdecision
- updated compatibility with quotes ( ' ' ) inside lines, was causing thermal-engine patch fail
Version 0.5 - Initial Release - 15/04/2014
How to make a template / submit a patch
You can get readable strings from file by using 'strings' command.
When using the new beta method (auto submit by using my raspberry pi)
Enter:
1. Your XDA username
2. path to file
3. lines to be patched
If this tool gets abused it will INSTANTLY be taken offline!
http://plcsubmit.broodplank.net/
By posting it as a reply to this topic:
TEMPLATE said:
/path/to/bin/or/lib
Code:
string 1
string 2
string 3
string 4
Click to expand...
Click to collapse
I will merge it on github then.
By Github pull merge request
For the more advanced developer:
./dbs/system/path/to/bin/or/lib said:
string 1
string 2
string 3
string 4
Click to expand...
Click to collapse
But then in the git folder
Make a file (same name as target) in right folder with lines inside the file that need to be hexxed.
Then make a merge pull request on Github!
another one just in case (reserved)
Wow I just noticed the topic was horribly formated! tip to everyone DO NOT USE THE WYSIWYG Editor!
The Sensors get knocked out when you silence sensors.msm8960.so
imanoob said:
The Sensors get knocked out when you silence sensors.msm8960.so
Click to expand...
Click to collapse
I have had this once, it was the cause of a invalid hex replacement. but I have been using the hexxed sensors.msm8960.so for a while now and in the app sensorbox everything is showing, compared to nothing showing when a failed hexx is done. please show me the results of sensorbox.
it should work just fine.
Wow this looks promising .
I've been doing some little hex edits on some system binarys, will try this out .
Regards
superdragonpt said:
Wow this looks promising .
I've been doing some little hex edits on some system binarys, will try this out .
Regards
Click to expand...
Click to collapse
Thank you , I hope it becomes useful for you
Is it possible to run the patches directly on the phone via terminal emulator or adb shell (assuming all prerequisites like adb, drivers, and sfk are installed)?
First of all, thanks a lot for these scripts, and for the tutorial you provided in your other thread on how to patch them manually. The script seemed to work just fine but for some reason the resulting binaries would be a few bytes smaller than the original file and so I'd get an error that would say something about ELF header magic ( can't remember the exact error message) and they could not be executed. I decided to try to create my own script and finally managed to get something working. My original script is run from the phone itself, but I tried to port it to yours as a dbs/patcher script replacement, keeping as much of the original functionality as I could. It seems to work, but could maybe use some polishing. I thought you might be interested in it, as it does not require any installation of extra binaries (it uses grep and dd to perform the functions of sfk). Feel free to use any of it how and where you might see fit. To use it just put it into dbs in place of the original patcher script.
Update: The patcher in patcherv2.zip now correctly restores the file permissions.
As an interesting side note I noticed that with unmodified files, my CPU usage while the phone is otherwise idle and only a single core is active, is reported as 3% with periodic spikes every few seconds of up to 10%. Once the strings are cleaned from the files, the CPU consistently reports usage of 0% or 1%, and the spikes are completely nonexistent.
Chahk said:
Is it possible to run the patches directly on the phone via terminal emulator or adb shell (assuming all prerequisites like adb, drivers, and sfk are installed)?
Click to expand...
Click to collapse
yes with some modification to the code it can do that. but you will have to convert it to real sh script instead of bash. it's somewhat different.
bsimpson1 said:
First of all, thanks a lot for these scripts, and for the tutorial you provided in your other thread on how to patch them manually. The script seemed to work just fine but for some reason the resulting binaries would be a few bytes smaller than the original file and so I'd get an error that would say something about ELF header magic ( can't remember the exact error message) and they could not be executed. I decided to try to create my own script and finally managed to get something working. My original script is run from the phone itself, but I tried to port it to yours as a dbs/patcher script replacement, keeping as much of the original functionality as I could. It seems to work, but could maybe use some polishing. I thought you might be interested in it, as it does not require any installation of extra binaries (it uses grep and dd to perform the functions of sfk). Feel free to use any of it how and where you might see fit. To use it just put it into dbs in place of the original patcher script.
Update: The patcher in patcherv2.zip now correctly restores the file permissions.
As an interesting side note I noticed that with unmodified files, my CPU usage while the phone is otherwise idle and only a single core is active, is reported as 3% with periodic spikes every few seconds of up to 10%. Once the strings are cleaned from the files, the CPU consistently reports usage of 0% or 1%, and the spikes are completely nonexistent.
Click to expand...
Click to collapse
You're welcome. This may be caused because the strings are replaced with "nothing", It might be a good idea for me to count the numbers (in hex) of the string and then replace it all with zero's instead. I think this creates more compatibility, but I'm not 100% sure of that.
Some files indeed get corrupted by hexxing them, (at least when removing strings), maybe putting zero's there would fix it. as I am not advanced in hex at all I honestly don't know before I have tested it.. anyways, the binary templates that are included should not corrupt the files.
I really appreciate you have put this effort in updating the patcher. It really looks awesome, I have not tested it yet, but if it really can replace sfk consistently It will be great. I will take a look at the script and I am certainly interested in it! The script looks pretty advanced to me actually, for example that regex is just badass!
I think I will integrate your patcher and generate an option that lets you choose between your method (local patching, on PC) and my method (remote patching, on phone), that way users could choose what they prefer. Of course I will add your credits to the top because you made it. not me
I will look into this very soon, for the meanwhile you could create merge pull requests on the git if you'd like.
And btw I am really glad to hear that removing the strings actually lowered the cpu usage , that's a great thing! and is absolutely the goal of the script next to making it more readable ^^
Thanks a lot for your wisdom and effort on this patcher
broodplank1337 said:
yes with some modification to the code it can do that. but you will have to convert it to real sh script instead of bash. it's somewhat different.
You're welcome. This may be caused because the strings are replaced with "nothing", It might be a good idea for me to count the numbers (in hex) of the string and then replace it all with zero's instead. I think this creates more compatibility, but I'm not 100% sure of that.
Some files indeed get corrupted by hexxing them, (at least when removing strings), maybe putting zero's there would fix it. as I am not advanced in hex at all I honestly don't know before I have tested it.. anyways, the binary templates that are included should not corrupt the files.
I really appreciate you have put this effort in updating the patcher. It really looks awesome, I have not tested it yet, but if it really can replace sfk consistently It will be great. I will take a look at the script and I am certainly interested in it! The script looks pretty advanced to me actually, for example that regex is just badass!
I think I will integrate your patcher and generate an option that lets you choose between your method (local patching, on PC) and my method (remote patching, on phone), that way users could choose what they prefer. Of course I will add your credits to the top because you made it. not me
I will look into this very soon, for the meanwhile you could create merge pull requests on the git if you'd like.
And btw I am really glad to hear that removing the strings actually lowered the cpu usage , that's a great thing! and is absolutely the goal of the script next to making it more readable ^^
Thanks a lot for your wisdom and effort on this patcher
Click to expand...
Click to collapse
I'm glad to help! I'm not very familiar with binary files myself. I recently noticed that it's possible to simply pass the flag '-o' to the 'strings' command to print the byte offset along with each string! I think that would be a lot more reliable than using grep, not to mention faster. Since that's also how other users will be getting the strings to use for the templates it seems like a very good option also. I'll see if I can come up with a revised version
Unfortunately, the version of strings that's provided by busybox on my phone doesn't have the -o option, but i managed to find a version of the real strings binary with -o support that runs on android, so it could be very possible to eventually make a flashable zip or version that runs on the phone: View attachment strings-armeabi.zip (can't seem to remember where i found this)
bsimpson1 said:
I'm glad to help! I'm not very familiar with binary files myself. I recently noticed that it's possible to simply pass the flag '-o' to the 'strings' command to print the byte offset along with each string! I think that would be a lot more reliable than using grep, not to mention faster. Since that's also how other users will be getting the strings to use for the templates it seems like a very good option also. I'll see if I can come up with a revised version
Unfortunately, the version of strings that's provided by busybox on my phone doesn't have the -o option, but i managed to find a version of the real strings binary with -o support that runs on android, so it could be very possible to eventually make a flashable zip or version that runs on the phone: View attachment 2810739 (can't seem to remember where i found this)
Click to expand...
Click to collapse
Me neither hehe, I just tested the -o flag and you're right , it works, it returns idd the byte offset. that is nice. and it would be faster for sure, dd'ing some bytes to a certain area has to be faster then grep/replace. But my concern is that maybe the byte offsets are not the same on files, which could easily corrupt the binary if it doesn't match the template. And how do you calculate how many bytes should be flashed to the byte offset? or you just want to jump to the offset and then replace hex? i am not sure which is better honestly. Anyways, I appreciate it that you want to come up with a revised version maybe
Oh it didn't? Do you perhaps have an old version of busybox? I have "BusyBox v1.21.1-kk bionic" and for me it works in android (adb shell, with for example "busybox strings -o /system/bin/mpdecision"), so there wouldn't be need for a seperate binary, just an updated busybox.
Anyways, before we could seriously replace the method we need to do a lot of testing ;p
@broodplank1337 - is this script still being maintained, if not, are there any other alternatives?
I never finished this, please use Launcher Hijacker v3+ as it works much much better!
EDIT 09/23/16
I finally found a permanent solution to how to change fire launcher on the Amazon Fire without root. It works on any version (FireOS 5.3.1) on any tablet variant (7, HD 8, HD 10 etc...).
You can read the detailed tutorial at http://forum.xda-developers.com/ama...-remove-default-launcher-amazon-fire-t3288310 but basically you run one command, must be done after reboot currently via adb shell:
Noval Launcher on Amazon Fire no-root:
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.teslacoilsw.launcher/.NovaLauncher; done &
That's it. Once you paste that into your adb shell you're done; you now have a default launcher programmatically set via ADB.
Optionally, you can install the modded firelauncher.apk so you can finally delete it without root .
(this is optional, you wont have any launcher after doing this! backup your old APK!!)
Code:
adb install -r -d com.amazon.firelauncher.apk
... as you can now see this will -r reinstall and -d downgrade the launcher, causing it to crash and never open.
Thanks for your support guys, I love android!
EDIT:
I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done
I'm new to the whole Android scene, and recently I had acquired an Amazon Fire HD 8. The only complaint about this tablet is the lack of Google Play and the horrible firelauncher. There is currently no root options available for the Fire HD modles 8 & 10, so I have spent the time to develop a temporary workaround.
Please take a quick look at the developmental thread I previously created so we can collaborate to make a more efficient version of this:
http://forum.xda-developers.com/hd8...zon-fire-hd-8-10-remove-firelauncher-t3286646
Disclaimer:
If you plan on installing new applications/packages while this script is running you may have a hard time. Installing packages may take 2-10 minutes, or maybe not at all!
If you experience any problems you can undo everything by running the undo script attatched (unix), or by typing "adb shell ps | grep /system/bin/sh", you will see anywhere from 2-10 processes listed. For each type "adb shell kill -9 <pid>", pid would be the process ID, should be the first number you see on each line.
There is a small chance when you press the home button that it will load the regular firelauncher, do not fret, try again and it will go to whichever launcher you previously selected.
Performance may be slightly altered, if it becomes too bad to use try adjusting the script and change the interval at which it loops (set to 20 by default).
This is an alpha experiment, and I am a noob with Android so please bare with me
This is a noobish approach to disabling the firelauncher (com.amazon.firelauncher.apk), please do not judge it, this is also my first time releasing something for Android.
If you are using a unix operating system (like Linux or Mac), I have compiled a script that does the work for you! Windows users will have to wait and do it manually since I am unfamilar with batch (would someone like to help with this?)
Automatic Tool (easy, linux, mac only)
Step One:
Download the two script attachments:
remove_default_launcher.sh - disables amazon's firelauncher
re-endable_firelauncher(undo).sh - reverts the process, if you have any issues
Step Two:
Run the following commands to make the scripts executable:
Code:
chmod +x remove_default_launcher.sh
chmod +x re-endable_firelauncher(undo).sh
Here is a video showing you how to do this next step:
https://www.youtube.com/watch?v=1IVOa048UbY
Run the tool to remove amazon's nasty launcher!
Code:
./remove_default_launcher.sh
Step Three:
The script should automatically do everything, when it's done, check your Fire. Keep pressing the home button and switching between applications until you get the "Change default launcher" dialogue, make sure you have an alternative launcher installed beforehand or else you won't have a launcher! When it's all working how it should be go to step four!
Step Four:
Simply exit out of your terminal window, do not type anything, just exit ADB. The script will continue running!
This is what a successful window looks like, whenever you have confirmed it is working, close out of the ADB window and end that process.
{
"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"
}
Manually (harder, windows)
Step One:
Open up a new ADB shell window and type
Code:
adb shell
Step Two:
Once you are in the shell window, simply copy and paste this line of code and press return. It is just a simple bash script that loops the command "install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk"" which will reinstall the firelauncher repeatedly, which temporary uninstalls it.
Code:
#!/system/bin/sh
nohup
while :
do
kill $!
sleep 1 & pm install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk" & sleep 20; kill $!
kill $!
done &
exit
#press enter now
After pressing enter, you can watch it go to work, or you can close out of the adb window and unplug your device, it will continue to run until you kill the shell processes or reboot the device. Make sure you have an alternative launcher already installed so it can easily be set as default. EDIT: Reboot may not reset it, which is cool but could be annoying. To turn off this wonderful feature open up adb shell and use "ls | grep shell" and kill using "kill <pid>" all releated processes to /bin/shell or whatever. It may take up to a minute to reset.
If you have any issues at all please comment and I will send you a private message with detailed instructions catered to your specific issue!
If you are a dev, take a look at my unix auto-install script, it may help you figure it out yourself as well. I need someone who understands batch to help me write a windows version .
I literally spent about 45 minutes working on this noobish approach, so if you find bugs or want to modify the script, simply post in the comments your version and why you think it is more efficient. If you want to help make a dedicated and more efficient approach to this, check out the development thread here (there are alternative methods here too):
http://forum.xda-developers.com/hd8...zon-fire-hd-8-10-remove-firelauncher-t3286646
This appears to be a very stable system actually, I recommend everyone does this to the Fire HD tablets!
I hope this helps someone, if this helps you please give me a thanks so I know it
Just tried this on my HD 8. Works like a charm! Haven't noticed much of a performance decrease as I figured would happen. On occasions when I press home it likes to hang at a black screen until I press home again. Other than that its perfect. Thanks!
ZenPowerBuilder said:
Just tried this on my HD 8. Works like a charm! Haven't noticed much of a performance decrease as I figured would happen. On occasions when I press home it likes to hang at a black screen until I press home again. Other than that its perfect. Thanks!
Click to expand...
Click to collapse
I am working on a better version, I have noticed some performance issues that irritate me.. I also made the scripts better much better.
I am glad I was able to help you .
I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done
nyln said:
I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done
Click to expand...
Click to collapse
Has anyone had any luck finding a way to keep this script running? I am experimenting with Python..
I have not had too much time to work on this, but all the puzzle pieces are here if anyone wants to make a permanent solution.
nyln said:
I have not had too much time to work on this, but all the puzzle pieces are here if anyone wants to make a permanent solution.
Click to expand...
Click to collapse
I have used your manual method and during the execution of this process I could with the command "adb shell pm hide com.amazon.firelauncher" the amazon firelauncher set as permanent hidden. After that I could set the Nova Launcher as a standard launcher. As a substitute for home button (was not working) I set in the "overlays app" the Nova launcher as a foreground application. So I can select the foreground Nova launcher symbol as a home replacement. For me is that a good workaround.
schr01 said:
I have used your manual method and during the execution of this process I could with the command "adb shell pm hide com.amazon.firelauncher" the amazon firelauncher set as permanent hidden. After that I could set the Nova Launcher as a standard launcher. As a substitute for home button (was not working) I set in the "overlays app" the Nova launcher as a foreground application. So I can select the foreground Nova launcher symbol as a home replacement. For me is that a good workaround.
Click to expand...
Click to collapse
The package manager requires root or superuser in order to hide/disable the firelauncher package properly. You probably have the 7" model.
nyln said:
The package manager requires root or superuser in order to hide/disable the firelauncher package properly. You probably have the 7" model.
Click to expand...
Click to collapse
That is true, that the package manager requires root or superuser in order to hide/disable the firelauncher package.
But there must be a "time gap" when there is running in a first adb window (task) the following adb shell script
!/system/bin/sh
nohup
while :
do
kill $!
sleep 1 & pm install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk" & sleep 20; kill $!
kill $!
done &
exit
and in a second adb window (task) is executed the "adb shell pm hide com.amazon.firelauncher" command.
Remark: I must multiple times repeat this command until I get the "TRUE" confirmation.
I has this done on my HD8 ( 5th generation) model. wiht the firmware 5.1.1.
nyln: awesome job!
now i bought this tablet for my son (6 yrs old) and the "child profiles" suck since they do not allow non amazon apps to be shown there. So having the nova launcher is the next best thing since i can hide the apps i dont want him touching. Problem is this if we are out somewhere and an app crashes the tablet, i have no way to get nova back on.
Is there a way to put this script on the tablet and run it that way?
5.1.4?
It is not working on 5.1.4?
XJimmyCaoQ99X said:
It is not working on 5.1.4?
Click to expand...
Click to collapse
You can downgrade to 5.1.2
@nyln can't wait to try this when i get home, can you install widgets on nova launcher now?
Sent from my HTC 10 using XDA Labs
ahac85 said:
@nyln can't wait to try this when i get home, can you install widgets on nova launcher now?
Sent from my HTC 10 using XDA Labs
Click to expand...
Click to collapse
How it actually works:
First of all, corrupting the firelauncher will prevent your system from loading it, which saves memory and cpu resources on these low-end devices. After that, in order to replace the system launcher I actually just intercept the home activity and allow a launcher of your choice to open. So it's really just a clean hack you won't notice. Only downside currently is the fact that it takes about 100ms for your home button to actually take you to the launcher of your choice.
tldr: It should work perfectly normally with widget.
XJimmyCaoQ99X said:
It is not working on 5.1.4?
Click to expand...
Click to collapse
It works on all versions, including 5.1.4. In fact, this will work on ANY device with ANY operating system. If you have 5.1.4 why don't you just root?
Can someone tell me if this works after reboot?
@nyln when i try to execute the script i get "syntax error: 'while' unmatched"
I saved the script to a file on my fire HD 8 and executed it with sh filename.sh, because with adb shell i pasted the text but i couldn't press enter to execute it. It just entered a new line to the script.
Here is how it looks:
aldileon said:
@nyln when i try to execute the script i get "syntax error: 'while' unmatched"
I saved the script to a file on my fire HD 8 and executed it with sh filename.sh, because with adb shell i pasted the text but i couldn't press enter to execute it. It just entered a new line to the script.
Here is how it looks:
Click to expand...
Click to collapse
The image looks good. You may need unix for this or cygwin.
But as i understood, the script runs on the fire tab? So why should it matter what OS I am pushing the script with? Or why should Unix work better than windows?
I'm not totally naive to the command line, nor to customizing android installations. This is my first experience with the Amazon tablets; I have the Fire HD8 6th-gen. I'm running the 5.3.1.1 firmware. I tried entering the command in the top post, entered into a terminal emulator, and it didn't seem to return anything -- no error, no nothing. Still having the same issue; I can run NovaLauncher and it's fine until I get into a different app or hit home, then it goes back to Amazon's junk launcher... am I doing something wrong in the terminal?
APK# v1.4
==================================================
Copyright (c) 2020 Captain Majid
Chat with me on Discord: https://discord.gg/F3Ds69M#android
==================================================
{
"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"
}
Description:
==============
Quickly de-bloat, view full details & manage APKs on any Android device/emulator, no other app do/show all that.
Features:
==========
Easily know what app works on what device/emulator by comparing Android cpu architecture to the app's supported architectures (arm, arm64-v8a, x86, etc...), and also by comparing the minimum Android ver required to run an app.
Backup multiple apks at once.
Install multiple apks at once.
Quick-infos of multiple apks at once.
Disable multiple apks at once. (for Android >= 6.0 only)
Uninstall multiple apks at once, including system apps (for Android >= 6.0 only, this doesn't require root, it just uninstall it for the current user, use this to remove unnecessary pre-installed junkware/bloatware system apps).
Push/pull files/folders to/from your Android even when its on Charge mode or connected wirelessly.
Quickly search for a package name without waiting for the whole list to be ready. (really time-saving feature)
Displaying current WiFi & IP with the ability to connect to the Android device wirelessly, no other tool automates that that easy.
Infos mirrored/logged to Excel files by default, also you can save custom screen contents as columns to Excel file for later reference, simply press Alt + Space -> Edit -> Select All/Mark -> Enter -> then paste the clipboard in a text file but change the extension to .csv
APK names encoded in UTF8 text to Excel file format (for non-Latin letters like Arabic, Japanese, Russian, etc...), you can also use an advanced cmd emulator (like mini cmder, that can display these characters on console screen).
Requirements:
==============
Windows ADB drivers: there is no generic solution for all Android manufacturers, even Google solutions mightn't work for your device: https://developer.android.com/studio/run/oem-usb#InstallingDriver, also remember that Windows disables installation of unsigned drivers unless you enable it manually on Windows boot.
So the generic solution is: to get https://sdi-tool.org/SDI_Update.torrent we only need to select \drivers\DP_zAndroid_*.7z, maybe also DP_Telephone_*.7z, & maybe DP_MassStorage_*.7z for MTP or ADB if you use Windows XP, you can also try this solution if the previous didn't work.
.NET 4.0 (if you've Windows older than 8).
Enable "USB Debugging" on your Android device/emulator.
Screenshots:
=============
Videos:
========
While searching on Google, I found this fan-made video, [Perfect Tool] ? :fingers-crossed: uhmmm... but I'm not done yet .
Review & Download:
===================
https://www.softpedia.com/get/System/System-Info/APK.shtml
Donations:
I don't need donations, just made this tool to ease the pain on users that aren't able to root/own their Android anymore, found it useful ? spread the word !
Why didn't you put it in the Play Store?
S.l.v.n said:
Why didn't you put it in the Play Store?
Click to expand...
Click to collapse
Its not an Android app, It's a Windows app written in C# no app/apk is installed on Android at all.
@Zer0De8th Sorry for the late reply to your pm, yes I'm going to add an option to disable a package later and some other features, hopefully not more than a week from now, thanks for the feedback.
You can also join me here if you're on Discord: https://discord.gg/F3Ds69M
Moataz Bellah said:
@Zer0De8th Sorry for the late reply to your pm, yes I'm going to add an option to disable a package later and some other features, hopefully not more than a week from now, thanks for the feedback.
You can also join me here if you're on Discord: https://discord.gg/F3Ds69M
Click to expand...
Click to collapse
Thanks for considering my request.
Updated to v1.3
Donations:
I don't need donations, just made this tool to ease the pain on users that aren't able to root/own their Android anymore, found it useful ? spread the word !
While searching on Google, I found this fan-made video, [Perfect Tool] ? :fingers-crossed: uhmmm... but I'm not done yet .
Moataz Bellah said:
Windows ADB drivers: there is no generic solution for all Android manufacturers, even Google solutions mightn't work for your device: https://developer.android.com/studio/run/oem-usb#InstallingDriver, also remember that Windows disables installation of unsigned drivers unless you enable it manually on Windows boot.
Click to expand...
Click to collapse
I don't know what kind of solution is in that torrent file (maybe again koush one that distributes illegally MS sign program makecert.exe, like devcon.exe it's not allowed really. But then again also Intel and Amlogic has done/does it, so who cares...) but here is another Windows ADB driver generic solution, signed and all... by me
Yet Another Universal ADB Driver Package and adbupdater for Windows
:laugh::silly:
MesterPerfect said:
Click to expand...
Click to collapse
Thanks for the feedback, this error happens when screen resolution (width) is <= 1024, so make it anything above 1024x786 and the problem should be gone, this will be fixed in the next release.
CXZa said:
I don't know what kind of solution is in that torrent file (maybe again koush one that distributes illegally MS sign program makecert.exe, like devcon.exe it's not allowed really. But then again also Intel and Amlogic has done/does it, so who cares...) but here is another Windows ADB driver generic solution, signed and all... by me
Yet Another Universal ADB Driver Package and adbupdater for Windows
:laugh::silly:
Click to expand...
Click to collapse
Thanks for sharing your project with us, you also seem to be a fan of emojis, right?
Well, the torrent is a collection of drivers called Snappy Driver Installer, it's almost the same as DriverPack Solution, both are trusted by thousands of people, but SDI has more features, flexible, and you can just update/download 1 driver when you want, not the whole pack, I don't think alot of people cares if the driver is signed by Microsoft or not as long as it works, does your solution covers all Android manufacturers ?
The phenomenal v1.4 update is here, why I say phenomenal ? well, I checked other similar adb-based tools on the web, and most of them are not just poor in functionalities compared to APK#, but paid/require donations to unlock very basic features, which is annoying.
For example, I didn't find any tool to automate the wireless connection between Windows & Android as easy as APK# (even awesome tools like https://github.com/Genymobile/scrcpy doesn't), also the tool does not make you wait to load all the packages infos anymore, you just use the Quick Search feature, and save your day.
Enjoy
Moataz Bellah said:
So the generic solution is: to get https://sdi-tool.org/SDI_Update.torrent we only need to select \drivers\DP_zAndroid_*.7z, maybe also DP_Telephone_*.7z, & maybe DP_MassStorage_*.7z for MTP or ADB if you use Windows XP.
Click to expand...
Click to collapse
Moataz Bellah said:
does your solution covers all Android manufacturers ?
Click to expand...
Click to collapse
Yep, and future manufactures too if the drivers don't change too much. And it isn't around 130MB like those files that you suggest downloading by using that torrent.
Moataz Bellah said:
The phenomenal v1.4 update is here
< --snip -->
Enjoy
Click to expand...
Click to collapse
Like how? 1.3 is available, not 1.4... just saying...
CXZa said:
Yep, and future manufactures too if the drivers don't change too much. And it isn't around 130MB like those files that you suggest downloading by using that torrent.
Like how? 1.3 is available, not 1.4... just saying...
Click to expand...
Click to collapse
Sorry for that delay, I was waiting for Softpedia to re-test/re-scan the update, I wanted the source of download to be them for additional trust, and to monitor the download count easily, now APKSharp v1.4 is ready. I also added your ADB drivers solution to the main post.
Moataz Bellah said:
Sorry for that delay, I was waiting for Softpedia to re-test/re-scan the update, I wanted the source of download to be them for additional trust, and to monitor the download count easily, now APKSharp v1.4 is ready. I also added your ADB drivers solution to the main post.
Click to expand...
Click to collapse
Okay, great, have to check what's this phenomenality is all about...
My driver package's phenomenality is maybe questionable but it usually does its ****...
Scrolling and filter issues
Overall appreciate your program. Very helpful and useful.
(Currently using ver 1.4 of your apk sharp program on the latest version of windows 10).
Having said this, there seems to be some issues with your program or perhaps
I am misunderstanding its use in certain places which hopefully you can clarify.
1. Is the “quick search” feature the same as your filter except it’s used at the very beginning to preclude the wait period as the app lines are created but then after that the filter is basically one’s search function?
2. Filter option issues:
Don’t understand how the filter works?
Example: If I type in the line number say 205 (of line 205; wuffy player etc.) no result is shown.
Any reason why typing in a number as my filter/search phrase won’t work?
If I type in “wuffy player” (without the quotes) a resulting line is shown as expected.
If I select the “wuffy player” phrase then do ctrl-c to copy then a ctrl-v to paste, its pasted correctly on the filter line but no result is subsequently shown so I am always forced to MANUALLY write in the search phrase which is NOT very helpful.
I even tried doing the ctrl-c OUTSIDE of your program using one of the csv files your program creates, and then tried the ctrl-v to paste in your program with no result. It is as if the ctrl-c or ctrl-v confuses your program.
I think you really need to resolve this because no one wants to always have to manually type in their search phrase every single time.
3. OR’s and ANDS’s in filter phrase – how to?
How do you do OR’s and AND’s with your filter? I tried “search phrase 1” “search phrase 2” (space in between, also tried commas, semi colons etc. in between the phrases) to execute an AND search but got no results.
For an OR’d phrase I tried “search phrase 1” | “search phrase 2” using the “|” as the separator and tried many other chars for the separator char but all yielded no results. Can you please explain how to do OR’s and AND’s when using your filter option?
4. Unnecessary scrolling of existing app lines:
After all the app lines are shown and one sorts say by name using option key ”1” for name, if one enters any char key like say “t” that is not a valid option key the entire app lines are unnecessarily re-scrolled which is quite annoying and provides no added value in doing so. The screen should remain as is with the invalid option char simply ignored.
Also, when a valid option key is pressed and its results are shown, the last valid char is seen on the line so if one backspaces which is a NATURAL user instinct to subsequently erase that char in order to select the next valid char option, all the existing app lines again get unnecessarily scrolled because the backspace just happens to be an invalid option selection char.
This is confusing because for a next valid selection to work, one needs to type in a valid option char at the same time a previous valid selection still remains on the line. This is not a natural user interaction.
Thanks
Ed R.
Burgrio said:
put it in the play store
Click to expand...
Click to collapse
No, I won't :laugh:
ed_ray said:
Overall appreciate your program. Very helpful and useful.
(Currently using ver 1.4 of your apk sharp program on the latest version of windows 10).
Having said this, there seems to be some issues with your program or perhaps
I am misunderstanding its use in certain places which hopefully you can clarify.
1. Is the “quick search” feature the same as your filter except it’s used at the very beginning to preclude the wait period as the app lines are created but then after that the filter is basically one’s search function?
2. Filter option issues:
Don’t understand how the filter works?
Example: If I type in the line number say 205 (of line 205; wuffy player etc.) no result is shown.
Any reason why typing in a number as my filter/search phrase won’t work?
If I type in “wuffy player” (without the quotes) a resulting line is shown as expected.
If I select the “wuffy player” phrase then do ctrl-c to copy then a ctrl-v to paste, its pasted correctly on the filter line but no result is subsequently shown so I am always forced to MANUALLY write in the search phrase which is NOT very helpful.
I even tried doing the ctrl-c OUTSIDE of your program using one of the csv files your program creates, and then tried the ctrl-v to paste in your program with no result. It is as if the ctrl-c or ctrl-v confuses your program.
I think you really need to resolve this because no one wants to always have to manually type in their search phrase every single time.
3. OR’s and ANDS’s in filter phrase – how to?
How do you do OR’s and AND’s with your filter? I tried “search phrase 1” “search phrase 2” (space in between, also tried commas, semi colons etc. in between the phrases) to execute an AND search but got no results.
For an OR’d phrase I tried “search phrase 1” | “search phrase 2” using the “|” as the separator and tried many other chars for the separator char but all yielded no results. Can you please explain how to do OR’s and AND’s when using your filter option?
4. Unnecessary scrolling of existing app lines:
After all the app lines are shown and one sorts say by name using option key ”1” for name, if one enters any char key like say “t” that is not a valid option key the entire app lines are unnecessarily re-scrolled which is quite annoying and provides no added value in doing so. The screen should remain as is with the invalid option char simply ignored.
Also, when a valid option key is pressed and its results are shown, the last valid char is seen on the line so if one backspaces which is a NATURAL user instinct to subsequently erase that char in order to select the next valid char option, all the existing app lines again get unnecessarily scrolled because the backspace just happens to be an invalid option selection char.
This is confusing because for a next valid selection to work, one needs to type in a valid option char at the same time a previous valid selection still remains on the line. This is not a natural user interaction.
Thanks
Ed R.
Click to expand...
Click to collapse
Overall thank you so much for this highly constructive feedback :victory:
1. & 2. "Quick Search" only searches for a package name (not app name) inside user/sys apps, so to search for "Google Play Store" app, you need to type any part of the package name which is "com.android.vending", so just typing "vend" will do the job.
"Filter" will search in the current cached list of apps for an EXACT phrase like: "cpu arch" or "app name" or "package name", so just typing "arm64-v8a" or "play store" or "vend" will give the same result, but you can't use more than 1 filter in the same time, so you can't say "play store arm64-v8a", you also don't need to specify a full word/phrase, just typing "sto" or "pla", is enough to get "Google Play Store".
3. Sorry if you get lost in this, the default filter is an EXACT phrase like I said above, if you find it necessary, I can add "OR" & "AND" filter later.
4. I've added a small update here to prevent apps relisting when an unsupported character is provided.
Please also note that with sorting, pressing the digits from 1 to 5 two times will reverse the sorting method (ascending/decending), so you can get the biggest/smallest app in size at the end by pressing '4' two times.
I'll add this in the main post later, thanks again and have a nice day.
Ooh, this looks like just what I needed to remove bloatware (without touching the necessary stuff). Two questions:
1. Does this work for a samsung galaxy s7 (G930T)?
2. How do I get started? (Instructions on how to use would be nice.)
Hopefully this works for my device (I tried using ADB to uninstall stuff, but kept hitting issues (and reset several times), so now it's sitting in a new (unopened) state. Important stuff is backed up before I started the uninstalling.
pyereciae2788 said:
Ooh, this looks like just what I needed to remove bloatware (without touching the necessary stuff). Two questions:
1. Does this work for a samsung galaxy s7 (G930T)?
2. How do I get started? (Instructions on how to use would be nice.)
Hopefully this works for my device (I tried using ADB to uninstall stuff, but kept hitting issues (and reset several times), so now it's sitting in a new (unopened) state. Important stuff is backed up before I started the uninstalling.
Click to expand...
Click to collapse
As long as
Code:
adb devices
detects your device, you're good to go.
1. It should work for any Android device/emulator, if you have an issue, let us know, screenshot it, etc...
2. Just follow the on-screen instructions and press the corresponding keys, maybe watch the video in the 1st post.
AHHH~
This worked better than I expected (especially the part where it lists the package name along with the file name). Also, thanks for color-coding everything! I can finally tell what something is, the file name, version, etc. It's also easier than using ADB for uninstalling, as it's just searching for the names, filtering with "6" + Enter, then uninstalling with "u" + Enter then the numbers with plus signs in between (e.g. 1+2+3). Much faster and simpler than "pm uninstall -k --user 0 [FILE NAME]" where [FILE NAME] is what the file name is (e.g. com.nimblebit.pocketfrogs for Pocket Frogs).
Now I can sleep without worrying to much...
I think one error is when I tried to undo uninstalling but it just gives "Uninstalled system apps:" then moves on as normal without the app being re-installed...