Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

F-Droid #441

Open
linsui opened this issue May 8, 2022 · 23 comments
Open

F-Droid #441

linsui opened this issue May 8, 2022 · 23 comments

Comments

@linsui
Copy link

linsui commented May 8, 2022

Is your feature request related to a problem? Please describe.
Could you please publish the app on F-Droid? Thanks!

Describe the solution you'd like
I can help package and submit it.

@jakepurple13
Copy link
Owner

I would love some help. I've looked into it and couldn't really understand what needed to be done. However, I haven't really been able to work on this project the last couple of days and the next few weeks. I should be primed to continue working by next month.

@linsui
Copy link
Author

linsui commented May 8, 2022

I can help you! I'll package it and make an MR. Thanks!

@linsui
Copy link
Author

linsui commented Jun 19, 2022

Is that possible to remove Firebase? It's non-free and not allowed in F-Droid.

@jakepurple13
Copy link
Owner

It is...The reason why I added it in the first place is so that people can log in and gain access to their favorites and things read/watched without needing to do steps to transfer data. Plus, crashlytics is a huge plus for when debugging crashes.
What I can try to do is modify the builds so there's a firebase version and a non-firebase version with descriptions of what the difference between the two are.

@linsui
Copy link
Author

linsui commented Jun 19, 2022

What I can try to do is modify the builds so there's a firebase version and a non-firebase version with descriptions of what the difference between the two are.

A flavor without firebase/google play service/mlkit would be good. Thanks!

@jakepurple13
Copy link
Owner

I'll see what I can do. It probably won't be easy.

@linsui
Copy link
Author

linsui commented Jun 19, 2022

Thanks!

@jakepurple13
Copy link
Owner

Somehow I think I was able to do it!
https://github.com/jakepurple13/OtakuWorld/tree/no_firebase_variant
That's the branch right now. I'll merge it either later today or tomorrow. This should also make it easier for others to help work on the app too since the no firebase variant doesn't need firebase.

@linsui
Copy link
Author

linsui commented Jun 21, 2022

Thanks! Testing.

@jakepurple13
Copy link
Owner

Also need to make sure the github actions pipeline still works with these changes.

@linsui
Copy link
Author

linsui commented Jun 21, 2022

There are some more non-free deps need to be striped:

  • gms
  • androidx.navigation:navigation-dynamic-features: it uses GMS to load dynamic functions.
  • mlkit
  • org.jetbrains.kotlinx:kotlinx-coroutines-play-services: it depends on GMS

@jakepurple13
Copy link
Owner

AH RIGHT! I added mlkit (which I thought is free), to translate descriptions

@linsui
Copy link
Author

linsui commented Jun 21, 2022

Sadly, most advance features provided by Google is not FOSS.

@jakepurple13
Copy link
Owner

Hm...I'll see what I can do then.

@linsui
Copy link
Author

linsui commented Jun 21, 2022

Thanks!

@jakepurple13
Copy link
Owner

I think it should be all good now.

@jakepurple13
Copy link
Owner

I did merge it into develop by the way.

@linsui
Copy link
Author

linsui commented Jun 22, 2022

It works, thanks! It seems there are several different apps in this repo. Is com.programmersbox.otakuworld a unified app? Should I package all of them?

@jakepurple13
Copy link
Owner

There's three (technically four) apps in this project. AnimeWorld, AnimeWorld TV, MangaWorld, and NovelWorld. OtakuWorld WILL NOT work. It was an attempt at viewing favorites from all the other apps in one place but it didn't work out too well.

@linsui
Copy link
Author

linsui commented Jun 22, 2022

Got it! Thanks!

@linsui
Copy link
Author

linsui commented Jun 22, 2022

AnimeWorld depends on com.google.android.exoplayer:extension-cast which depends on GMS. MangaWorld build failed:

> Task :mangaworld:processNoFirebaseReleaseResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':mangaworld:processNoFirebaseReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction
   > Android resource linking failed
     ERROR:/builds/linsui/fdroiddata/build/com.programmersbox.mangaworld/mangaworld/src/main/res/layout/page_end_chapter_item.xml:9: AAPT: error: attribute adSize (aka com.programmersbox.mangaworld:adSize) not found.
         
     ERROR:/builds/linsui/fdroiddata/build/com.programmersbox.mangaworld/mangaworld/src/main/res/layout/page_end_chapter_item.xml:9: AAPT: error: attribute adUnitId (aka com.programmersbox.mangaworld:adUnitId) not found.
         
     ERROR:/builds/linsui/fdroiddata/build/com.programmersbox.mangaworld/mangaworld/src/main/res/layout/page_next_chapter_item.xml:8: AAPT: error: attribute adSize (aka com.programmersbox.mangaworld:adSize) not found.
         
     ERROR:/builds/linsui/fdroiddata/build/com.programmersbox.mangaworld/mangaworld/src/main/res/layout/page_next_chapter_item.xml:8: AAPT: error: attribute adUnitId (aka com.programmersbox.mangaworld:adUnitId) not found.
         
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org/
BUILD FAILED in 8m 6s

Could you please take a look? Thanks!

@jakepurple13
Copy link
Owner

Mmmm...That's annoying. Guess I have to limit the ads too then...Not like they were in the way! If you were wondering how could I do such a thing. They are SO out of the way, you kinda need to try to find them. But I can try something.

As for casting, that's really annoying. That would mean we won't be able to cast. I guess I can, but then need to make sure to explicitly point out that in the no firebase version, casting is not available.

@linsui
Copy link
Author

linsui commented Jun 22, 2022

Yes, there are many convenient functions provided by GMS and Firebase. Instead of remove all GMS from the flavor, we can also use https://github.com/microg/GmsCore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants