pia-foss / mobile-android-legacy

Private Internet Access - Android VPN Client
MIT License
38 stars 16 forks source link

Upload PIA android app to f-droid.org opensource app store #4

Open andreldmonteiro opened 4 years ago

andreldmonteiro commented 4 years ago

Many people don't use the google play store and because of Google's policy the MACE feature is no longer available on the google play app store, while users can fetch the PIA app from the site, that has it's disadvantages like manual updates.

Since the PIA android app is now open-source, it can be uploaded to the very well know and respected F-droid open-source app store even with the PIA MACE functionality as a bonus, also this store is better regarded than the play store in terms of security because it only accepts open source apps.

bingoxo commented 2 years ago

any update on this ?

kp-juan-docal commented 1 year ago

Hi @andreldmonteiro @bingoxo first of all, apologies for the unforgivable delay on replying to this. This is something we definitely have in mind. However, there are a few internal processes we need to define before jumping into this. You'll be the first ones to know once we reach this point.

IzzySoft commented 11 months ago

There are probably a few show-stoppers at the moment. From your build.gradle:

    // amazon
    implementation 'com.amazon.device:amazon-appstore-sdk:3.0.2'

    //google
    def billing_version = "5.2.1"

    implementation "com.android.billingclient:billing:$billing_version"

which I'd consider a general privacy issue to consider (this app is about privacy, isn't it? So such libraries are better avoided). I see you're already using build flavors, so maybe another one excluding these (named e.g. foss or fdroid) could help. If the corresponding APK is available then (ideally attached to the corresponding release) I gladly take another look.

kp-juan-docal commented 11 months ago

hey @IzzySoft! These are libraries needed for in-app purchases purposes for our playstore/amazon flavours. We have a flavour called Noinapp which is the flavour we use when releasing the APK in our website. This is the flavour we will eventually aim to submit to f-droid.

IzzySoft commented 11 months ago

Thanks for the info! After having found the link, I'm afraid I must disappoint you:

Offending libs:
---------------
* Amazon In-App Purchasing (/com/amazon/device/iap): NonFreeComp,NonFreeNet
* BillingClient (/com/android/billingclient): NonFreeComp,NonFreeNet

2 offenders.

So that flavor has the same two libraries. Anything else would have surprised me: you use implementation – not playstoreImplementation or amazonstoreImplementation. So what you suggested could be achieved by changing above gradle lines to:

    // amazon
    amazonstoreImplementation 'com.amazon.device:amazon-appstore-sdk:3.0.2'

    //google
    def billing_version = "5.2.1"

    playstoreImplementation "com.android.billingclient:billing:$billing_version"

which would make sure each of those libs only gets applied to its corresponding flavor. But not being an Android dev, I might have missed some implications (I have e.g. no idea of the "dimension" concept), so please take this as "consideration for testing" and not as "straight advice" :wink:

kp-juan-docal commented 11 months ago

@IzzySoft unfortunately is not as simple as making that change with the current implementation. Removing the libraries would break compilation due to the fact that in-app purchase logic is not behind any abstraction layer.

Please create a separate issue if you would like to continue with the conversation as we are moving away from the scope and context of this one.

IzzySoft commented 11 months ago

Thanks – I just wanted to leave my hints as to making the app ready for F-Droid (disclosure: I'm one of the maintainers there). I've put all I know so far. Once you reached a stage where you might need me again for cross-checking, be welcome to give me a ping.

Nemes15 commented 8 months ago

Please add this as an option. I have installed the APKs manually for a decade on several android devices and I'm often behind on updates because of this. If they are on the IzzyOnDroid or F-Droid repo it would make life much easier for the paying customer that does not use Google Play