You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lokinet/android
Thomas Winget 4c630e0437 Large collection of changes to make android work
- Previous android java and jni code updated to work, but with much love
  still needed to make it work nicely, e.g. handling when the VPN is
  turned off.

- DNS handling refactored to allow android to intercept and handle DNS
  requests as we can't set the system DNS to use a high port
  (and apparently Chrome ignores system DNS settings anyway)

- add packet router structure to allow separate handling of specific
  intercepted traffic, e.g. UDP traffic to port 53 gets handled by our
  DNS handler rather than being naively forwarded as exit traffic.

- For now, android lokinet is exit-only and hard-coded to use exit.loki
  as its exit.  The exit will be configurable before release, but
  allowing to not use exit-only mode is more of a challenge.

- some old gitignore remnants which were matching to things we don't
  want them to (and are no longer relevant) removed

- some minor changes to CI configuration
3 years ago
..
res add initial jni stuff for lokinet android. i fucking hate android so god damn much. 6 years ago
src/network/loki/lokinet Large collection of changes to make android work 3 years ago
.gitignore add more stuff from builder repo 6 years ago
AndroidManifest.xml Large collection of changes to make android work 3 years ago
build.gradle Large collection of changes to make android work 3 years ago
build.xml add more stuff from builder repo 6 years ago
proguard-project.txt add more stuff from builder repo 6 years ago
project.properties add more stuff from builder repo 6 years ago
readme.md revive android build system (#1339) 4 years ago
settings.gradle add more stuff from builder repo 6 years ago

readme.md

lokinet android

this directory contains basic stuff for lokinet on android.

Prerequsites

To build you need the following:

  • Gradle (6.x)
  • Android SDK (latest version)
  • Android NDK (latest version)

Building

Next set up the path to Android SDK and NDK in local.properties

sdk.dir=/path/to/android/sdk
ndk.dir=/path/to/android/ndk

Then build:

$ gradle assemble

This fetches a large amount (several dozen Gigabytes) of files from some server somewhere dumping it on your filesystem to make the thing do the building, then proceeds to peg all your cores for several dozen minutes while it does the required incantations to build 2 apks.

The build outputs apks to to subdirectories in build/outputs/apk/ one called debug for debug builds and one called release for release builds.