Skip to content

[Feature]: Support for 32-bit armeabi-v7a architecture on Android (Crucial for Android/Google TV) #32

@sayem-hub

Description

@sayem-hub

I am currently developing a Laravel application tailored for Android/Google TV using NativePHP. The app works perfectly on 64-bit devices, but I encountered an "App not installed" error when testing on various Google TV and Android TV boxes.

Upon investigation, I discovered that the generated APK only bundles the libphp.so binaries for the 64-bit arm64-v8a architecture because NativePHP currently explicitly adds abiFilters.add("arm64-v8a") in the Android build.gradle.kts.

The issue is that a vast majority of smart TVs, budget Android TV boxes, and streaming sticks (like the Chromecast with Google TV HD) run a 32-bit Android OS (armeabi-v7a) to save RAM, even if their processors are technically 64-bit capable. When trying to install the 64-bit APK on these devices, Android's package manager aborts the installation.

Proposed Solution:
Please compile and provide the PHP engine (libphp.so) and related dependencies for the 32-bit armeabi-v7a architecture.

Additionally, update the default build.gradle.kts template to include "armeabi-v7a" in the abiFilters block, allowing NativePHP apps to run seamlessly on a much wider range of Android devices, significantly expanding the potential audience for NativePHP TV applications.

Use Case:
Allowing developers to build applications (like digital signage, dashboards, or utility apps) that target the large market of budget Android TV and Google TV devices which commonly utilize 32-bit operating systems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions