BaronKiko / LauncherHijack

For Amazon Fire Tablets and TV's
GNU General Public License v3.0
353 stars 61 forks source link

Cannot install on Fire HD 3rd Gen: INSTALL_FAILED_OLDER_SDK #14

Closed proski closed 6 years ago

proski commented 6 years ago

I tried installing the LauncherHijackV3.apk binary on Kindle Fire 3rd Generation with rooted Fire OS 4.5.5.3. I get en error if I do it using ADB:

$ adb install LauncherHijackV3.apk
LauncherHijackV3.apk: 1 file pushed. 5.2 MB/s (1275590 bytes in 0.235s)
    pkg: /data/local/tmp/LauncherHijackV3.apk
Failure [INSTALL_FAILED_OLDER_SDK]

I also tried installing the apk loaded to the Kindle using OI File Manager. I get a message

Parse Error
There was a problem parsing the package

I was able to install other packages from OI File Manager. LauncherHijack 2 and 2.1 fail exactly the same way. I suspect the binary packages require and SDK newer than supported by my Kindle? If that's the case, would it be possible to lower the SDK requirements?

proski commented 6 years ago

I was able to recompile the code in Android Studio. It even tried to deploy the code to the Kindle and showed that the API on the target is 19. So I changed minSdkVersion to 19 in app/build.gradle, compiled the project and deployed it. The app detected OpenLauncher. I enabled the accessibility setting for the home button and rebooted the Kindle. It starter with OpenLauncher. However, pressing the Home button still invokes the annoying "Select a home app" dialog, and selecting "Always" doesn't help. So that's the real issue with the older Kindle.

proski commented 6 years ago

I tried installing all launchers available on F-Droid. The LauncherHijack window allows me to select one of them. It asks for confirmation. After I confirm, LauncherHijack shows the list of the launchers again. However, there is no indication which launcher has been selected. I'm not sure if it's a GUI defect specific to older Kindle.

BaronKiko commented 6 years ago

Sorry totally missed this. While probably too late, if you are running a rooted os you can just set the launcher so this app isn't useful. In regards to downgrading the API if I recall the API version selected was the oldest that had support for the functions I needed hence the requirement so it's probably not easy to downgrade properly however I may be wrong as you clearly got it to build, without removing any lines of code I hope. Finally there is no indication of the selected launcher in the app, I made it super quickly so that it would function and as a dev I don't really care how it looks. It's probably pretty easy to add that functionality and if somebody wants to add it and submit a push request I would be more than happy to integrate it into the code but it's not something I am interested in doing, sorry.

proski commented 6 years ago

Thank you for reply anyway. I don't use that device much, and I can live with the default launcher. I couldn't figure out how to change the launcher on the rooted device. I guess I'll have a look if I have time.

I think the indicator of the selected launcher would be nice not only for folks desperately trying ten launchers. But I don't think I would be able to to do it since it would be of no use to me.

BaronKiko commented 6 years ago

No doubt it would be nice it's just not something I ever put the time into. At this point I don't have the project set up on my pc so it would take a good hour or 2 just to build the existing version. If I do update it at some point I can have a look into it as it's probably really easy once I have the project set up. Sadly I am but a very lazy man atm.