OrangeDrangon / android-messages-desktop

Android Messages as a Cross-platform Desktop App
Other
336 stars 28 forks source link

(Question/Build possibilities) #336

Closed Crsarmv7l closed 3 years ago

Crsarmv7l commented 3 years ago

Any possibility to build armv7l and aarch64?

I was able to get it running on a pi4 in dev mode and I'm currently attempting to build an armv7l rpm for SailfishOS (they have issues with US provider MMS. This and Google Fi web texting/mms solves that).

Build attempts seem possible given I got it working on the pi4 with Raspbian, by bypassing yarn dist, editing electron_builder.js and instead using yarn build && USE_SYSTEM_FPM=true yarn run electron-builder --linux rpm --armv7l.

Would appreciate any build guidance.

OrangeDrangon commented 3 years ago

Are you receiving an error or just asking for help? Neither are a problem just looking for more information.

OrangeDrangon commented 3 years ago

Just as an unimportant aside this seems like a horrible way to solve the MMS issue long term.

Crsarmv7l commented 3 years ago

Sorry, I wasn't very clear. My first rpm was not able to be installed, I tracked it down to a known issue with FPM and armv7l but I need to rebuild my dev environment before I can try again.

  1. If I am able to build for armv7l and aarch64 are you interested?
  2. Is there anything I am missing potentially with my building?

I absolutely agree this is a horrible, and heavy long term solution.

Sadly Google Messages apk does not work on Sailfishes AlienDalvik due to their implementation.

My immediate solution was google's Hangouts app, which worked great but has been killed for SMS/MMS. My current stop-gap is a webview apk I created with custom useragent. It works great for viewing/sending and is very lightweight. The issue is downloading blobs that google uses for MMS pictures/sounds/etc. Android download manager does not seem to work with it. I will eventually try and incorporate RN-Fetch-Blob but I am very new to React-Native.

Giving up Sailfish is not a solution as I would be giving up LXC-Containers, Linux and AlienDalvik all on one handy device.

My next question is this: Do you have any insights into google's blob format? Given this is basically chrome engine, which has no issues with the blob format, this may be a longshot question.

OrangeDrangon commented 3 years ago

Sorry for the delay getting back to you.

I will build for more platforms that is not a problem at all assuming it will build crossplatform using github actions Just open a pull request with any changes required.

Assuming google is in anyway consistent all of the data is a binary blob encoded using protobuf. While I am not very familar with it that should at least set you down the right path for googling how to parse the data. It may be possible to extract the schemas from the website or they may be somehow encoded into the data not really sure.

As for react native it should not have any issues working with protobuf once you get it parsing correctly as far as I know.

Good luck and let me know if you have anymore questions.

Crsarmv7l commented 3 years ago

Thank you