The main I2P client implementation uses Java. If for some reason you can't use Java on your device, there are alternative implementations developed by community members.
i2pd is a I2P client implementation in C++. As of early 2016, i2pd is became stable enough to be used in production, and since summer 2016 it fully implements all I2P APIs.
Kovri is active i2pd fork developed for Monero cryptocurrency.