After being confused and helpless for couple of days I found a very clean and simple solution that only involves installing a small app that neither needs root nor configuring anything on your laptop. (It needs drivers though.)
Fun fact: You can run this on all operating systems(Mac, Linux, Windows).
Things to download
- Reverse tethering app for android (This app is free for download and gives 10 minutes of connection every 30 minutes.)
- Reverse tethering server app on Laptop
ReverseTethering Server Requirements
- Java Runtime Environment 1.7 or newer (Download here)
- x86 Processor
Instructions
Enable USB Debugging in the Developer System Settings on your device.
Connect your device to your computer via a USB cable.
If you are using Windows, you have to install USB drivers for your Android device now. These drivers are typically provided by the device manufacturer as a download. For some devices, Windows can automatically find, download and install the drivers when you connect your Android device for the first time. Please note there is a difference between MTP drivers (for file exchange) and ADB drivers (which RevTet needs). Many computers automatically install the MTP drivers, but not the ADB drivers. In order to find the appropriate ADB drivers for your device, please do an Internet research.
(If need be: Download ADB drivers from here.Takes less than a minute to install.)
On Linux, you have to set up your system to recognize the Android device.
Download the right archive of the Reverse Tethering server application from above mentioned link.
Unzip the downloaded file
On macOS: Double-click ReverseTetheringServer.app
On Windows: Double-click ReverseTetheringServer.exe
On Linux: Double-Click ReverseTetheringServer.jar
Also remember
Transfer rates are below average. You won't be getting A-one performance using this method.