Building advanced privacy as a standalone app

Hello everyone,

After a long talk with @WillemR and reading the former thread he created about Advanced privacy source code, I’ve decided to give it a go and try to build it for LOS device, as this is, I believe, one of the best feature /e/OS offers us.

As it’s a low priority on murena’s side, I believe we’ll never see it made by them… So, let’s do it…?

However, may my enthusiasm be strong, my skills aren’t, and I’m a complete beginner in building rom and apk, so I don’t even know where to start. I’ve read the readme that comes with the source code and the thread about the source code, and what I’ve understood is that changes should be made in the source code, which sounds contradictory to what is said in the readme file (basically, it won’t work if not installed as system, so you just need to flash it from recovery ?). I know that a lot of people here are experienced enough to know which way to go, so I’d like you to show me the main way, and then I’ll do my thing.

So here are my question, depending on their answer, I’ll see what I’ll do :

  • Do I have to change the source code ? If yes, which parts are linked to /e/OS architecture and should be changed for a LOS support ?
  • Which app should I use ? Android studio ? Docker ?
  • Are some of you ready to test it as I don’t have spare devices ?

Many thanks for your support anyway !

1 Like

I can’t help but think it’s a great idea. I could only help with an app icon/graphics, for example, or translation.

1 Like

I guess you would you could start from here, Get started with Android … you would aim first to get to a level of competency that you could at least at first pick up the source.

You would need a test device for sure many App developers use an emulator as well as own phone.

Android Studio you will see is sort of self testing … but even as I write it is very hard to compose entry level text for what would be an advanced project.

I suppose you might need to have mastered making a simple ROM without docker in order for the Readme to make more sense.

I could give zero support at this level ! because there are deep and fundamental parts to AP which I have not studied. For instance your project would be far in advance of creating a fork of a relatively simple app like say an email app.

This topic Advanced Privacy? has references to the fork that AP started from, Privacy central.

1 Like

Sounds quite difficult then. So is it easier to create a new fork from privacy central or to modify the source code of AP ?
Testing will come after i’ll have understood how changing code works. How do I make modifications in the source code ? Using visual code ? Using Android studio ? I just need basic setup and then i’ll figure it out.

There is an enormous amount of familiarising to do first. The reason mentioned Privacy central is that study of the history might be productive “educationally”. You might even find what Privacy central was forked from … I already did not find it in a quick search (but I think I knew once). Another thought was that AP might have been more simple in implementation then.

All of the above “thinking education”. In creating a fork I would guess much more simple to fork from current, as I assume you still have to learn all the Git stuff for that.

I do not see how you could modify the source code productively till

Say

1 pick up the code
2 change the name of your new app to My_pivacy
3 make your desired changes

1 Like

This is gonna be long…

The link in the /e/ GitLab doesn’t lead anywhere any more…
https://github.com/LedgerProject/e_privacycentralapp has been deleted. Now I need to understand the code to know where to make the change. The readme file gives some information, but doesn’t help much for what I’m willing to do…

Edit :
I’ve found in the build.gradle file some interesting dependencies that rely on e librairy. I wonder if this is not where some changes should be made.

There are also a great amount of .class files which cannot be viewed using android studio. However, as they look to be coming from lineage libraries, I guess that this is not an interesting part.

do you have a java build environment installed and ran gradle to fetch the build dependencies? I’m sure it’s buildable as is but will give it a go if you fail. Should be straightforward

I don’t know what you mean, I’m a Newby. I’ve tried to run the app using android studio emulator, but I couldn’t find how…

that’s synonymous, you can use Android Studio. A high level overview is here. The bummer is: when you built successfully, it isn’t a user app that you can easily install or replace (past the cert signature collision) but a system-app.

(it also relies on system patching for dns resolution and location override, hard to do this in a user installed app)

Oh damn, doesn’t sound intuitive… In addition to the app being quite advanced, the building tree is terrible. The point is that i don’t understand yet where the /e/ dependencies are located. Besides, i don’t think that just deleting it would solve the issue, i need to replace them by something else, but i don’t know what.
Doing so is going to take time, as i’m a total newby in building apks.

This topic was automatically closed after 60 days. New replies are no longer allowed.