Bote is an Android port of I2P-Bote.
- Java SDK (preferably Oracle/Sun or OpenJDK) 1.6.0 or higher
- Apache Ant 1.8.0 or higher
- I2P source
- I2P-Bote source
- Android SDK 21
- Android Build Tools 21.1.1
- Android Support Repository
- Gradle 2.2.1
The build system is based on Gradle. There are several methods for setting Gradle up:
-
It can be downloaded from the Gradle website.
-
Most distributions will have Gradle packages. Be careful to check the provided version; Debian and Ubuntu have old versions in their main repositories. There is a PPA for Ubuntu with the latest version of Gradle.
-
A Gradle wrapper is provided in the codebase. It takes all the same commands as the regular
gradle
command. The first time that any command is run, it will automatically download, cache and use the correct version of Gradle. This is the simplest way to get started with the codebase. To use it, replacegradle
with./gradlew
(or./gradlew.bat
on Windows) in the commands below.
Gradle will pull dependencies over the clearnet by default. To use Tor, create a gradle.properties
file in i2p.android.base
containing:
```
systemProp.socksProxyHost=localhost
systemProp.socksProxyPort=9150
```
-
Install I2P. You need the installed libraries to build against.
-
Download the Android SDK. The simplest method is to download Android Studio.
-
Check out the
i2p.i2p-bote
andi2p.i2p-bote.android
repositories. -
Create a
local.properties
file ini2p.i2p-bote.android/botejars
containing:i2pbase=/path/to/installed/i2p botesrc=/path/to/i2p.i2p-bote
-
If you want to use a local copy of the I2P Android client library, install it in your local Maven repository with:
cd path/to/i2p.android.base ./gradlew client:installArchives
-
Create a
local.properties
file ini2p.i2p-bote.android
containing:sdk.dir=/path/to/android-studio/sdk
-
gradle assembleDebug
-
The APK will be placed in
i2p.i2p-bote.android/app/build/apk
.
-
Import
i2p.i2p-bote.android
into Android Studio. (This creates thelocal.properties
file automatically). -
Build and run the app (
Shift+F10
).
-
Create a
signing.properties
file ini2p.i2p-bote.android
containing:STORE_FILE=/path/to/android.keystore STORE_PASSWORD=store.password KEY_ALIAS=key.alias KEY_PASSWORD=key.password
-
gradle assembleRelease