I can't find much of any information on hacking the microsoft android emulator. Ideally, I'd like to get it working with superuser, exposed, etc, so it can be a fully functional way to see how android itself and apps work in different environments, all from my desktop. Also, I can just play around with stuff that I wouldn't touch on my tablet for fear of bricking it. I like playing with things.
Disclaimer: I'm not interested in maintaining anything, but as mentioned above, I can't find any information. Therefore, I'm simply posting what information I have here, in the hopes it will interest someone else enough to take a harder look at it. My original post was over here, but I've expanded beyond simply adding supersu to the image.
Things I can't do:
- Install superuser
- Install Xposed
- Install Google Play for anything more recent than KitKat
- Install recovery scripts
Things I can do:
- Run commands as root.
- Install Google Play Services on KitKat
- Change the screen resolution
- Change the amount of internal disk space
- Change the amount of memory and cpu cores available.
- Install busybox
- Flash simple scripts that don't require recent versions of cwm/twrp/other modern recovery.
----------------------------------------
Background information: The Microsoft Android "Emulator" is actually a HyperV virtual machine. When you install it, it enables the HyperV virtualization service in windows*. The effect of this is that instead of running android by emulating an arm processor, it runs android natively, with far better performance, by using Microsoft's hypervisor that's built into windows (win8+). You can work with it with Visual Studio and with Android Studio, but I don't use either much, so I can't help you with that. You can download it from Visual Studio if you want to (VS 2015 is free), or you can download a standalone version. I don't know if there's a difference between the two.
* I'm not sure if it installs the HyperV GUI as well, as I already use HyperV for other things and had it already installed. If you need to do so, you can install the GUI by going to add-remove windows features in the control panel ('appwiz.cpl' from the control panel).
----------------------------------------
Modifying the properties of the emulated system.
Configuration file location: After you create a device, the .cfg file for it will be located in %localappdata%\Microsoft\VisualStudioEmulator\Android\Containers\Local\Devices
To change the resolution: So far, I haven't identified any supported resolutions other than those listed in the device profiles list. So far, supported resolutions that I've used successfully are 480x800, 720x1080. You can edit the .cfg file for the specific device that you want to change the resolution of, and change the `device.screen.resolution=` line to any supported (see previous) resolution.
To change the size of the internal storage, follow the instructions here. You'll need an ubuntu cd; minimal install cd is fine if you have slow internet/computer or low ram.
To change the amount of ram or processors allocated to the virtual machine: Open Hyper-V manager, right-click the appropriate VM and click settings.
- Change the ram allocation by clicking Memory in the list at left. I do not know what happens if you try using Dynamic Memory; if it works, it should be more memory-efficient, but I left that alone. Now update the `device.vm.ram.size=` line in the .cfg file.
- Change the cpu allocation by clicking the Processor field. Please note that if you have hyper-threading, you should only use half your logical processors as cpus; the hyperthreaded 'cores' won't work as well (according to information online; you can check number of logical processors in windows task manager's performance tab). Now update the 'device.vm.cpu.count=' line in the .cfg file
----------------------------------------
Info on "recovery" and "flashing" - Installing google play
So far, I have only managed to get Google Play Services working on KitKat. I can't get it to work on Lollipop or Marshmallow (and haven't tried earlier versions at all); the virtual machine does *not* have a recovery or fastboot because of the way it works, and I haven't figured out any way of installing such. Instead, there's a simple shell file called install_zip.sh. It does not work with modern flashable zips that require TWRP/CWM; it only works with the old style zip designed for a specific architecture. As such, opengapps flashable zips will not work.
To install Google Play Services on KitKat (4.4.4)
1. Inside the emulator, open the browser and go to http://www.teamandroid.com/gapps/ and download the file linked under Gapps CyanogenMod 11.
2. Open the window the the android VM from the Hyper-V Manager to get console access. If you have ADB installed locally, you can use that in the future, but getting the VM's shared IP requires terminal access anyways (run `ip addr` as root inside the emulator to get the list of IPs).
3. Run `adb shell` to get access to the root shell (yes, it's that easy).
4. Run `install_zip.sh /sdcard/Downloads/gapps-kk-20140105-signed.zip` (or whatever the name/path for the downloaded gapps file is).
5. It should complete successfully. Now type exit to exit the adb shell, and close the hyper-v console window (the android emulator will continue running).
6. Click the 'X' at the top right of the Emulator to shut down/close the VM
7. Start the emulator back up. You should now have access to Google Play Services.
----------------------------------------
Busybox
The emulator does not come with a preinstalled copy of busybox. It does come with the android toolbox, but this has only a very minimal amount of commands in it. The instructions below are for installing stericson's busybox.
1. Get a copy of stericson's busybox from somewhere--your personal device, etc, it doesn't matter. The easiest way is to either install it on a real android device and grab it with airdroid (or other), or to use a play store scanner to get it. The file name will probably be something like stericson.busybox.apk.
2. Rename it to .zip so you can access the contents.
3. Extract the busybox-x86.png file from the 'assets' folder inside the zip, and rename it to `busybox`.
4. In the Android Emulator, click the >> button for tools, and click the sdcard header. Choose a folder (a new one on your dekstop will do) and tell it to pull the contents of the sdcard to the folder.
5. Move the busybox file into the Download folder that you just pulled from the sdcard. If you created a folder for this, you can delete it now.
6. Back in the android emulator, push the folder structure back into the sdcard; this will move the busybox onto the emulator.
7. Open the HyperV console for the emulator or open a terminal app in the android emulator (installing it is up to you)
8. Run `adb shell` to get a root prompt.
9. Run `mount -o rw,remount /system` to remount the system partition as writable
10. Run `cp /sdcard/Download/busybox /system/xbin` to copy the busybox binary over
11. Run `chmod 777 /system/xbin/busybox` to make the busybox binary executable.
12. Run `busybox --install /system/xbin` to copy the busybox binary for all the included applets. I think the -s paramter will symlink the applets to the main binary instead, but I'm not sure.
13. Type exit in the adb shell.
14. You can now run busybox commands in the terminal, and use apps that require busybox to be installed.
Now that you have busybox installed, you can use unzip, etc.
----------------------------------------
Hacking the OS itself.
The android emulator uses a VHD file for the disks. I've mounted the vhd file inside an ubuntu server to play with, and discovered several things about the way it works. The first partition is the boot partition, it contains 3 files:
- kernel - the android/linux kernel
- ramdisk - the ramdisk for the root filesystem. gzipped cpio archive.
- cmdline - the kernel parameters(? not sure what to call this)
I've tried modifying the ramdisk to add the init files for the superuser, but this doesn't seem to work properly; when I boot up the vhd file, I can open the console with hyper-v manager (the android emulator machines show up there automatically), and when it gets to the ramdisk, it says so--then the caps/num/scroll lights start flashing and it hangs. I haven't gotten any further than that at this time.
Hello everyone. I am excited to announce I've found a successful method to edit the contents of the Android System, also known as framework-res. This method has allowed me to make a massive amount of modifications to the framework system, including unlocking several features and or settings Amazon blocks us from using or accessing. The guide I am writing today, is just one example of that.
I've been contacted a few times here and there, users asking if I knew how to improve their WiFi reception as some feared Amazon may be intentionally slowing down connections. Until now, I was unable to determine all of the features or settings related to WiFi, that we have been blocked from seeing/using/accessing. This guide will show you how to unlock those settings and features to improve your WiFi reception.
!!!!*****WARNING*****!!!!
Modifying the framework can be extremely damaging to your device. Making the wrong edit, even in the slightest, can result in permanent damage to your device. DO NOT MAKE ANY OTHER EDITS TO THE FRAMEWORK, OTHER THAN THE ONES OUTLINED IN THIS GUIDE. IF YOU BRICK YOUR DEVICE, OR DAMAGE IT IN ANY WAY, I CANNOT BE HELD RESPONSIBLE. If you choose to go forward from here, you are responsible for any and all actions. If you aren't prepared for the possibility you may brick your tablet, this guide is not for you. NOTE: I've NEVER permanently bricked a device, but everyone's devices are different.
I have tested this method extensively and made extensive edits to the framework. I have bricked my tablets many times, sometimes several times a day. I risked and continue to risk losing my devices to damages by bringing you these next several guides. Please thank me when you've successfully completed this guide
Requirements:
-Rooted HD 10 or Fire 7 tablet
-Desktop PC with Android SDK installed
-APKtool
-Java (APKtool requires Java)
-Notepad++ (Install this first)
-7-Zip or like minded program
-adbd Insecure application
-A lot of patience and time
Notes:
-Works really well on the HD 10. Extensively tested.
-Works on the Fire 7, but with a much lower success rate. For some reason the Fire 7 gets very irritated very quickly, more often than not.
Instructions:
1. Go to the Java website and download the two files, JDK and JRE (not the JRE server) and install them. When doing so, make sure the installation path is just inside C:\ directory NOT C:\Program Files etc. It's much easier to have all your tools in the same directory for easy access. NOTE: You won't be able to use this guide without installing Java as it's required by APKtool.
{
"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"
}
2. Go to the APKtool website and download the tool and required files. They will also be placed into the C:\ directory. Installation instructions are in the same place. PLEASE READ THEM VERY CAREFULLY!
3. When you've completed the above tasks, plug your tablet into your PC. On your PC, open an ADB window. You need to pull one file from your tablet, framework-res.apk and send it to the APKtool folder in C:\APKtool (assuming that's where you installed APKtool). For this guide, your file(s) MUST be pulled from your device using ADB. DO NOT manually place them into the folder(s).
Code:
adb pull /system/framework/framework-res.apk C:\APKtool
4. Once the framework apk is in the APKtool folder, open another command prompt window from the APKtool folder by holding down shift on the keyboard + right click on the mouse and select "open command window here." In this new command window type:
Code:
APKtool
If you installed everything correctly, text will appear with a few commands you can issue APKtool.
5. Now we need to decompile the framework. In APKtool command window type the following command:
Code:
apktool d framework-res.apk
6. The framework-res.apk should then decompile into a folder inside your APKtool folder. Open the framework folder and navigate to:
Code:
/res/values/
7. Open the bools.xml file by right clicking on it and selecting Notepad++ as the editor. At this point quite a bit of code, or configurations will appear. Please look for the list of items below and change the values of them from 'false' to 'true':
Code:
"config_wifi_dual_band_support"
"config_wifi_background_scan_support"
"config_wifi_enable_disconnection_debounce"
"config_wifi_enable_5GHz_preference"
"config_wifi_framework_enable_associated_autojoin_scan"
"config_wifi_framework_enable_associated_network_selection"
"config_wifi_only_link_same_credential_configurations"
"config_wifi_batched_scan_supported"
"config_wimaxEnabled"
8. Now save the file and close Notepad++. Back in the framework folder, open the arrays.xml file. Look for the following line of code:
Code:
<string-array name="networkAttributes">
<item>wifi,1,1,2,-1,true</item>
<item>tedongle,49,49,1,-1,true</item>
9. In the first line above, wifi,1,1,2,-1,true, change the '2' to a '1'. Delete the second line completely, but leave the 'item' tags. Replace it with the following line of code:
Code:
<item>wifi_p2p,13,1,0,-1,true</item>
I have personally marked each of these configurations as true to test battery drainage, and there was very little if any at all. Though the configuration for "background" scanning is enabled, I don't believe it's the same background scanning like the aggressive ones manufacturers and providers place in the general WiFi settings.
10. Save the files and close them. Head back to the APKtool folder and open the command window again, if you closed it. Type the following command:
Code:
apktool b framework-res
11. You might see a few errors, but they can be ignored as long as the window tells you the APK was successfully created. If it was, go to the APKtool folder, tap on the framework-res folder, then tap on the 'dist' folder. Your new framework is inside. Right click on the NEW framework-res.apk and select "open archive." Go back to the main APKtool folder and right click on the ORIGINAL framework-res.apk and open it as an archive too.
12. Drag the 'res' folder from the newly generated APK to the old APK. If using 7-Zip, just click ok when the window pops up. Now do the same for the resources.arsc file and if usong 7-Zip, just select ok. If using WinRAR, you have to set the compression to STORE before you click ok.
13. Place the framework-res.apk you just dragged those files to, into your adb folder on your PC and plug your tablet into it. Download and install adbd insecure and check the box to make adbd insecure. Now open an ADB window. It's time to install the framework. In two commands, you'll be done. First type:
Code:
adb remount
adb push framework-res.apk /system/framework/framework-res.apk
After you installed the framework, if you don't go into a bootloop within 10 seconds or less, you have most likely been successful, but you still have to reboot. Once you do, You'll notice a new toggle in your advanced WiFi settings. For an added bonus, you can edit your build.prop to specify the range of WiFi channels in your country. If in the US, you will add the number '11' and if in Europe and Asia, you want to put a 13 or 14.
Code:
ro.wifi.channels=11
OR
Code:
ro.wifi.channels=13
Keep an eye on me the for the next week or more. I have a lot more goodies to share, and I keep finding more
DragonFire1024 said:
Hello everyone. I am excited to announce I've found a successful method to edit the contents of the Android System, also known as framework-res. This method has allowed me to make a massive amount of modifications to the framework system, including unlocking several features and or settings Amazon blocks us from using or accessing. The guide I am writing today, is just one example of that.
I've been contacted a few times here and there, users asking if I knew how to improve their WiFi reception as some feared Amazon may be intentionally slowing down connections. Until now, I was unable to determine all of the features or settings related to WiFi, that we have been blocked from seeing/using/accessing. This guide will show you how to unlock those settings and features to improve your WiFi reception.
!!!!*****WARNING*****!!!!
Modifying the framework can be extremely damaging to your device. Making the wrong edit, even in the slightest, can result in permanent damage to your device. DO NOT MAKE ANY OTHER EDITS TO THE FRAMEWORK, OTHER THAN THE ONES OUTLINED IN THIS GUIDE. IF YOU BRICK YOUR DEVICE, OR DAMAGE IT IN ANY WAY, I CANNOT BE HELD RESPONSIBLE. If you choose to go forward from here, you are responsible for any and all actions. If you aren't prepared for the possibility you may brick your tablet, this guide is not for you. NOTE: I've NEVER permanently bricked a device, but everyone's devices are different.
I have tested this method extensively and made extensive edits to the framework. I have bricked my tablets many times, sometimes several times a day. I risked and continue to risk losing my devices to damages by bringing you these next several guides. Please thank me when you've successfully completed this guide
Requirements:
-Rooted HD 10 or Fire 7 tablet
-Desktop PC with Android SDK installed
-APKtool
-Java (APKtool requires Java)
-Notepad++ (Install this first)
-7-Zip or like minded program
-A lot of patience and time
Notes:
-Works really well on the HD 10. Extensively tested.
-Works on the Fire 7, but with a much lower success rate. For some reason the Fire 7 gets very irritated very quickly, more often than not.
Instructions:
1. Go to the Java website and download the two files, JDK and JRE (not the JRE server) and install them. When doing so, make sure the installation path is just inside C:\ directory NOT C:\Program Files etc. It's much easier to have all your tools in the same directory for easy access. NOTE: You won't be able to use this guide without installing Java as it's required by APKtool.
2. Go to the APKtool website and download the tool and required files. They will also be placed into the C:\ directory. Installation instructions are in the same place. PLEASE READ THEM VERY CAREFULLY!
3. When you've completed the above tasks, plug your tablet into your PC. On your PC, open an ADB window. You need to pull one file from your tablet, framework-res.apk and send it to the APKtool folder in C:\APKtool (assuming that's where you installed APKtool). For this guide, your file(s) MUST be pulled from your device using ADB. DO NOT manually place them into the folder(s).
Code:
adb pull /system/framework/framework-res.apk C:\APKtool
4. Once the framework apk is in the APKtool folder, open another command prompt window from the APKtool folder by holding down shift on the keyboard + right click on the mouse and select "open command window here." In this new command window type:
Code:
APKtool
If you installed everything correctly, text will appear with a few commands you can issue APKtool.
5. Now we need to decompile the framework. In APKtool command window type the following command:
Code:
apktool d framework-res.apk
6. The framework-res.apk should then decompile into a folder inside your APKtool folder. Open the framework folder and navigate to:
Code:
/res/values/
7. Open the bools.xml file by right clicking on it and selecting Notepad++ as the editor. At this point quite a bit of code, or configurations will appear. Please look for the list of items below and change the values of them from 'false' to 'true':
Code:
"config_wifi_dual_band_support"
"config_wifi_background_scan_support"
"config_wifi_enable_disconnection_debounce"
"config_wifi_enable_5GHz_preference"
"config_wifi_framework_enable_associated_autojoin_scan"
"config_wifi_framework_enable_associated_network_selection"
"config_wifi_only_link_same_credential_configurations"
"config_wifi_batched_scan_supported"
"config_wimaxEnabled"
8. Now save the file and close Notepad++. Back in the framework folder, open the arrays.xml file. Look for the following line of code:
Code:
<string-array name="networkAttributes">
<item>wifi,1,1,2,-1,true</item>
<item>tedongle,49,49,1,-1,true</item>
9. In the first line above, wifi,1,1,2,-1,true, change the '2' to a '1'. Delete the second line completely, but leave the 'item' tags. Replace it with the following line of code:
Code:
<item>wifi_p2p,13,1,0,-1,true</item>
I have personally marked each of these configurations as true to test battery drainage, and there was very little if any at all. Though the configuration for "background" scanning is enabled, I don't believe it's the same background scanning like the aggressive ones manufacturers and providers place in the general WiFi settings.
10. Save the files and close them. Head back to the APKtool folder and open the command window again, if you closed it. Type the following command:
Code:
apktool b framework-res
11. You might see a few errors, but they can be ignored as long as the window tells you the APK was successfully created. If it was, go to the APKtool folder, tap on the framework-res folder, then tap on the 'dist' folder. Your new framework is inside. Right click on the NEW framework-res.apk and select "open archive." Go back to the main APKtool folder and right click on the ORIGINAL framework-res.apk and open it as an archive too.
12. Drag the 'res' folder from the newly generated APK to the old APK. If using 7-Zip, just click ok when the window pops up. Now do the same for the resources.arsc file and if usong 7-Zip, just select ok. If using WinRAR, you have to set the compression to STORE before you click ok.
13. Now open an ADB window. It's time to install the framework. In two commands, you'll be done. First type:
Code:
adb remount
adb push C:\apktool\framework-res.apk /system/framework/framework-res.apk
After you installed the framework, if you don't go into a bootloop within 10 seconds or less, you have most likely been successful, but you still have to reboot. Once you do, You'll notice a new toggle in your advanced WiFi settings. For an added bonus, you can edit your build.prop to specify the range of WiFi channels in your country. If in the US, you will add the number '11' and if in Europe and Asia, you want to put a 13 or 14.
Code:
ro.wifi.channels=11
OR
Code:
ro.wifi.channels=13
Keep an eye on me the for the next week or more. I have a lot more goodies to share, and I keep finding more
Click to expand...
Click to collapse
Would it be possible for you to post your modified framework-res file so those of us less skilled could just push your tested and working file. I would assume you will need a version for each OS aka one for 5600, 5601 and 5610
adm1jtg said:
Would it be possible for you to post your modified framework-res file so those of us less skilled could just push your tested and working file. I would assume you will need a version for each OS aka one for 5600, 5601 and 5610
Click to expand...
Click to collapse
I'm not so sure that a framework-res.apk from one tablet is good for another, but there's no reason that it wouldn't work.
I experience a lot of wifi issues on the 7th Gen HD 10, but I'm not sure if messing with the framework is worth the risk...
I can tell that the 5GHz range of the tablet is extremely bad, I basically have to be in the ssame room where my router is
and that 2.4GHz is sometimes very slow, while it works fine on my phone
adm1jtg said:
4. Once the framework apk is in the APKtool folder, open another command prompt window from the APKtool folder by holding down shift on the keyboard + right click on the mouse and select "open command window here." In this new command window type:
If you installed everything correctly, text will appear with a few commands you can issue APKtool.
5. Now we need to decompile the framework. In APKtool command window type the following command:
6. The framework-res.apk should then decompile into a folder inside your APKtool folder. Open the framework folder and navigate to:
7. Open the bools.xml file by right clicking on it and selecting Notepad++ as the editor. At this point quite a bit of code, or configurations will appear. Please look for the list of items below and change the values of them from 'false' to 'true':
8. Now save the file and close Notepad++. Back in the framework folder, open the arrays.xml file. Look for the following line of code:
9. In the first line above, wifi,1,1,2,-1,true, change the '2' to a '1'. Delete the second line completely, but leave the 'item' tags. Replace it with the following line of code:
I have personally marked each of these configurations as true to test battery drainage, and there was very little if any at all. Though the configuration for "background" scanning is enabled, I don't believe it's the same background scanning like the aggressive ones manufacturers and providers place in the general WiFi settings.
10. Save the files and close them. Head back to the APKtool folder and open the command window again, if you closed it. Type the following command:
11. You might see a few errors, but they can be ignored as long as the window tells you the APK was successfully created. If it was, go to the APKtool folder, tap on the framework-res folder, then tap on the 'dist' folder. Your new framework is inside. Right click on the NEW framework-res.apk and select "open archive." Go back to the main APKtool folder and right click on the ORIGINAL framework-res.apk and open it as an archive too.
12. Drag the 'res' folder from the newly generated APK to the old APK. If using 7-Zip, just click ok when the window pops up. Now do the same for the resources.arsc file and if usong 7-Zip, just select ok. If using WinRAR, you have to set the compression to STORE before you click ok.
13. Now open an ADB window. It's time to install the framework. In two commands, you'll be done. First type:
After you installed the framework, if you don't go into a bootloop within 10 seconds or less, you have most likely been successful, but you still have to reboot. Once you do, You'll notice a new toggle in your advanced WiFi settings. For an added bonus, you can edit your build.prop to specify the range of WiFi channels in your country. If in the US, you will add the number '11' and if in Europe and Asia, you want to put a 13 or 14.
OR
Keep an eye on me the for the next week or more. I have a lot more goodies to share, and I keep finding more
Would it be possible for you to post your modified framework-res file so those of us less skilled could just push your tested and working file. I would assume you will need a version for each OS aka one for 5600, 5601 and 5610
Click to expand...
Click to collapse
I can yes. But be aware if you aren't on the same version 5.6.0.1, then just reinstalling that APK may not work. I'm not entirely sure if the framework APK relies on version specific settings or not. In which case the worst that could happen is when you go to reboot you would be stuck at the boot logo and you would need to reflash stock firmware. I'll do upload it when I get home from work later.
Sent from my Samsung Galaxy S4 using XDA Labs
I'm posting the framework now. There are other tweaks as well, I just don't remember some. You can toggle the Wi-Fi GHZ in advanced Wi-Fi settings. I warn you though, this may not work. I've not tested this method so I'm not responsible for any bricks!
Sent from my Amazon KFSUWI using XDA Labs
freaky2xd said:
I experience a lot of wifi issues on the 7th Gen HD 10, but I'm not sure if messing with the framework is worth the risk...
I can tell that the 5GHz range of the tablet is extremely bad, I basically have to be in the ssame room where my router is
and that 2.4GHz is sometimes very slow, while it works fine on my phone
Click to expand...
Click to collapse
Posted above this reply. I can make a special modification for you later. As of now the setting is set to a 5ghz preference. I can change that later and I'll upload the revised framework this afternoon.
Sent from my Amazon KFSUWI using XDA Labs
adm1jtg said:
Hello everyone. I am excited to announce I've found a successful method to edit the contents of the Android System, also known as framework-res. This method has allowed me to make a massive amount of modifications to the framework system, including unlocking several features and or settings Amazon blocks us from using or accessing. The guide I am writing today, is just one example of that.
I've been contacted a few times here and there, users asking if I knew how to improve their WiFi reception as some feared Amazon may be intentionally slowing down connections. Until now, I was unable to determine all of the features or settings related to WiFi, that we have been blocked from seeing/using/accessing. This guide will show you how to unlock those settings and features to improve your WiFi reception.
!!!!*****WARNING*****!!!!
Modifying the framework can be extremely damaging to your device. Making the wrong edit, even in the slightest, can result in permanent damage to your device. DO NOT MAKE ANY OTHER EDITS TO THE FRAMEWORK, OTHER THAN THE ONES OUTLINED IN THIS GUIDE. IF YOU BRICK YOUR DEVICE, OR DAMAGE IT IN ANY WAY, I CANNOT BE HELD RESPONSIBLE. If you choose to go forward from here, you are responsible for any and all actions. If you aren't prepared for the possibility you may brick your tablet, this guide is not for you. NOTE: I've NEVER permanently bricked a device, but everyone's devices are different.
I have tested this method extensively and made extensive edits to the framework. I have bricked my tablets many times, sometimes several times a day. I risked and continue to risk losing my devices to damages by bringing you these next several guides. Please thank me when you've successfully completed this guide
Requirements:
-Rooted HD 10 or Fire 7 tablet
-Desktop PC with Android SDK installed
-APKtool
-Java (APKtool requires Java)
-Notepad++ (Install this first)
-7-Zip or like minded program
-A lot of patience and time
Notes:
-Works really well on the HD 10. Extensively tested.
-Works on the Fire 7, but with a much lower success rate. For some reason the Fire 7 gets very irritated very quickly, more often than not.
Instructions:
1. Go to the Java website and download the two files, JDK and JRE (not the JRE server) and install them. When doing so, make sure the installation path is just inside C: directory NOT C:\Program Files etc. It's much easier to have all your tools in the same directory for easy access. NOTE: You won't be able to use this guide without installing Java as it's required by APKtool.
2. Go to the APKtool website and download the tool and required files. They will also be placed into the C: directory. Installation instructions are in the same place. PLEASE READ THEM VERY CAREFULLY!
3. When you've completed the above tasks, plug your tablet into your PC. On your PC, open an ADB window. You need to pull one file from your tablet, framework-res.apk and send it to the APKtool folder in C:\APKtool (assuming that's where you installed APKtool). For this guide, your file(s) MUST be pulled from your device using ADB. DO NOT manually place them into the folder(s).
4. Once the framework apk is in the APKtool folder, open another command prompt window from the APKtool folder by holding down shift on the keyboard + right click on the mouse and select "open command window here." In this new command window type:
If you installed everything correctly, text will appear with a few commands you can issue APKtool.
5. Now we need to decompile the framework. In APKtool command window type the following command:
6. The framework-res.apk should then decompile into a folder inside your APKtool folder. Open the framework folder and navigate to:
7. Open the bools.xml file by right clicking on it and selecting Notepad++ as the editor. At this point quite a bit of code, or configurations will appear. Please look for the list of items below and change the values of them from 'false' to 'true':
8. Now save the file and close Notepad++. Back in the framework folder, open the arrays.xml file. Look for the following line of code:
9. In the first line above, wifi,1,1,2,-1,true, change the '2' to a '1'. Delete the second line completely, but leave the 'item' tags. Replace it with the following line of code:
I have personally marked each of these configurations as true to test battery drainage, and there was very little if any at all. Though the configuration for "background" scanning is enabled, I don't believe it's the same background scanning like the aggressive ones manufacturers and providers place in the general WiFi settings.
10. Save the files and close them. Head back to the APKtool folder and open the command window again, if you closed it. Type the following command:
11. You might see a few errors, but they can be ignored as long as the window tells you the APK was successfully created. If it was, go to the APKtool folder, tap on the framework-res folder, then tap on the 'dist' folder. Your new framework is inside. Right click on the NEW framework-res.apk and select "open archive." Go back to the main APKtool folder and right click on the ORIGINAL framework-res.apk and open it as an archive too.
12. Drag the 'res' folder from the newly generated APK to the old APK. If using 7-Zip, just click ok when the window pops up. Now do the same for the resources.arsc file and if usong 7-Zip, just select ok. If using WinRAR, you have to set the compression to STORE before you click ok.
13. Now open an ADB window. It's time to install the framework. In two commands, you'll be done. First type:
After you installed the framework, if you don't go into a bootloop within 10 seconds or less, you have most likely been successful, but you still have to reboot. Once you do, You'll notice a new toggle in your advanced WiFi settings. For an added bonus, you can edit your build.prop to specify the range of WiFi channels in your country. If in the US, you will add the number '11' and if in Europe and Asia, you want to put a 13 or 14.
OR
Would it be possible for you to post your modified framework-res file so those of us less skilled could just push your tested and working file. I would assume you will need a version for each OS aka one for 5600, 5601 and 5610
Click to expand...
Click to collapse
Posted. Look above this reply
Sent from my Amazon KFSUWI using XDA Labs
Thanks can't wait to try, unfortunately I won't have access to my tablet for the next 2 weeks but will definitely try first thing when I get it back.
DragonFire1024 said:
I'm posting the framework now. There are other tweaks as well, I just don't remember some. You can toggle the Wi-Fi GHZ in advanced Wi-Fi settings. I warn you though, this may not work. I've not tested this method so I'm not responsible for any bricks!
Sent from my Amazon KFSUWI using XDA Labs
Click to expand...
Click to collapse
Installed this on my tablet, it seems to have definitely fixed my issue where the tablet would stop stop loading when streaming videos. Thanks
I can't install the apk on my fire hd 10 os 5.6
endleesss said:
I can't install the apk on my fire hd 10 os 5.6
Click to expand...
Click to collapse
Are you trying to install it like a regular APK?
Sent from my Samsung Galaxy S4 using XDA Labs
In step 13, when I type 'adb remount' on adb window, it keeps showing me 'permission denied'.
I'm using os 5.6.1.0 on rooted fire hd 10 by the way.
zxcvbnm76 said:
In step 13, when I type 'adb remount' on adb window, it keeps showing me 'permission denied'.
I'm using os 5.6.1.0 on rooted fire hd 10 by the way.
Click to expand...
Click to collapse
Make sure the box is checked in adb insecure. You have to recheck the box each time you run a command, whether successful or not.
Sent from my Samsung Galaxy S4 using XDA Labs
DragonFire1024 said:
Make sure the box is checked in adb insecure. You have to recheck the box each time you run a command, whether successful or not.
Sent from my Samsung Galaxy S4 using XDA Labs
Click to expand...
Click to collapse
It worked! Thanks for your help.
@DragonFire1024 just got my hd 10 up and running with TONS of help from retyre. Currently on his 5610 img thats pre rooted and pre xposed. If you would be willing to make a 5160 framework-res for me with all your goodies I would be happy to help you test anything you like. If needed I can even upload the framework-res off my install to you for modding.
adm1jtg said:
@DragonFire1024 just got my hd 10 up and running with TONS of help from retyre. Currently on his 5610 img thats pre rooted and pre xposed. If you would be willing to make a 5160 framework-res for me with all your goodies I would be happy to help you test anything you like. If needed I can even upload the framework-res off my install to you for modding.
Click to expand...
Click to collapse
You'll likely have to send me a copy of yours to be on the safe side. There are some parts I cannot change or it gets stuck at the boot logo. If any of those are different from 5.6.0.1 to 5.6.1.0, then it would also get stuck. Send me your framework APK and I'll work on it. Almost done with the FireTabletSettings apk and then I'll overhaul my framework to include all mods instead of single mods and make it available. So my take a little time, but I'll do it
Sent from my Moto E4 using XDA Labs
DragonFire1024 said:
You'll likely have to send me a copy of yours to be on the safe side. There are some parts I cannot change or it gets stuck at the boot logo. If any of those are different from 5.6.0.1 to 5.6.1.0, then it would also get stuck. Send me your framework APK and I'll work on it. Almost done with the FireTabletSettings apk and then I'll overhaul my framework to include all mods instead of single mods and make it available. So my take a little time, but I'll do it
Sent from my Moto E4 using XDA Labs
Click to expand...
Click to collapse
https://bit.ly/2HOv0Rw (framework-res from 5.6.1.0) do you want the settings file as well? If so would it be SettingsProvider.apk you need?
Also have been toying with an idea... If I loaded RETYRE's image for system, clean, then adb pushed your settings and framework files to my system, then used flashfire for a raw system backup and posted the resulting image file, woudn't that be a good way to easily distribute your changes and his... with his and your permission to do so of course.
adm1jtg said:
https://bit.ly/2HOv0Rw (framework-res from 5.6.1.0) do you want the settings file as well? If so would it be SettingsProvider.apk you need?
Also have been toying with an idea... If I loaded RETYRE's image for system, clean, then adb pushed your settings and framework files to my system, then used flashfire for a raw system backup and posted the resulting image file, woudn't that be a good way to easily distribute your changes and his... with his and your permission to do so of course.
Click to expand...
Click to collapse
I would need FireTabletSettings.apk. I suppose it could be done like that, but I honestly don't know. You have my permission to try though. I'm almost done with Version one. I just need to do a few more things.
Sent from my Moto E4 using XDA Labs
adm1jtg said:
Also have been toying with an idea... If I loaded RETYRE's image for system, clean, then adb pushed your settings and framework files to my system, then used flashfire for a raw system backup and posted the resulting image file, woudn't that be a good way to easily distribute your changes and his... with his and your permission to do so of course.
Click to expand...
Click to collapse
While I don't have an issue with using my 5.6.1.0 image, I'm not sure merging these tweaks into the system.img and uploading a new 5.6.1.0 image would be my preferred approach. Instead, DragonFire1024 should upload his/her tweaks as a flashable .zip that one can flash with FlashFire.
Let's say you put up a modified system.img today and DragonFire1024 comes up with a couple of tweaks tomorrow. Will you create another system.img? If you have a good /system, would you want to dump an entirely new system.img just to get a few new tweaks?