====== SHARP 40FH7EA AndroidTV - How to install APK without connecting TV to internet ====== ===== Requirements ===== You will need: - SHARP 40FH7EA AndroidTV - Laptop/PC with Linux and ethernet port (or Windows/Mac if you can get ADB working...) - Any working RJ45 cable - 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 .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!