You may want to try Mycelium for Bitcoin and Jaxx for Ethereum and Bitcoin too, they both provide you your private keys. However, I believe you can't create new address at will, but both support HD addresses so in short the wallet is generate a new address for you on every transaction you make. You may want to check Coinomi as well. I have tried these wallets myself and I didn't have any problem using it.
Thanks n4poleon for your suggestion!
Yeah, the Jaxx wallet doesn't support creating new addresses, but Mycelium does!