Table of Contents

SHARP 40FH7EA AndroidTV - How to install APK without connecting TV to internet

Requirements

You will need:

  1. SHARP 40FH7EA AndroidTV
  2. Laptop/PC with Linux and ethernet port (or Windows/Mac if you can get ADB working…)
  3. Any working RJ45 cable
  4. Your APK file for armeabi-v7a architecture

Install software

On Debian PC/Laptop:

# apt install android-sdk-platform-tools

If you want/need to debug your connection:

# apt install net-tools tcpdump nmap

Setup AndroidTV

Network configuration

On home screen go to settings (gear icon in top right corner), “Network & Internet”, “IP Settings” in “Ethernet” section.

Next, enter a static IP address, netmask, BUT LEAVE DNS AND GATEWAY EMPTY!

IP Address: 192.168.1.128
Netmask: 255.255.255.0 (or /24)
Gateway: EMPTY
DNS1: EMPTY
DNS2: EMPTY
I had problem connecting from VLC on TV to my NFS server, because the TV would send ARPs looking for gateway instead of connecting directly to my NFS server. Hence, leave gateway and DNS settings empty.

Enable developer mode

On home screen again go to settings (gear icon in top right corner), “Device Preferences”, “About”, and click on “Android TV OS build” entry until you see “You are now a developer!” popup.

Next, go back to “Device Preferences”, “Developer options”, and enable “USB debugging”.

Yes, “USB debugging”, even tho we are going to connect over ethernet…

While being here, disable “Verify apps over USB”. I have not tested if that's needed, but seems logical for what we want to do.

Setup ADB communication

Connect your PC/Laptop to TV using ethernet cable. Configure your PC/Laptop network interface, to work on same network, as defined on your TV. For example I used:

IP Address: 192.168.1.222
Netmask: 255.255.255.0 (or /24)
Gateway: EMPTY (actually had to enable "Use this connection only for resources on its network" in Network-Manager GUI [IPv4 Settings -> Routes...])
DNS: EMPTY

Now, try connecting with ADB to your TV…

$ adb connect 192.168.1.128:5555

First time it should fail. Take a look at TV. It should show a message popup asking, if “USB device is trusted”. Select a checkbox saying to always trust this device, and confirm that it is safe. Try connecting via ADB again. This time it should say:

You are already connected!
If at this point you have any problem, try checking open ports on your TV using nmap, or debug the network using tcpdump.

Install your APK

On your PC/Laptop enter directory that stores your APK and type:

$ adb install <your_apk>.apk

Wait a couple seconds, it should exit with message:

Success!
In my case, I wanted to install VLC. You can download it from here: https://www.videolan.org/vlc/download-android.html
Remember, that SHARP 40FH7EA needs armeabi-v7a type APK! Type arm64-v8a does not work!

Finish

You're done! Now, you can safely disconnect ADB using following command, and be happy without logging in to Google Play or any other bullshit, just to install some APK on hardware that you own.

$ adb disconnect

Happy hacking!