In the documentation for testing In-App-Purchases (IAPs) on Android, the following is stated:
First, upload and publish in-app products that you want testers to be
able to purchase. You can upload and publish in-app products in the
Developer Console. Note that you can upload and publish your in-app
items before you publish the APK itself.
However, in my Google Developer Console, I can not define the In-app Products before having uploaded an APK? Does anyone know why?
Correct. What Google is doing here makes no sense whatsoever. But the way to get around this is to upload an empty signed APK to alpha or beta with the BILLING permission, then you can add your in-app products.
One way around this limitation is to develop with Register https://github.com/NYTimes/Register
It is a developer library/app designed to test in app billing. In particular, once your app is using Register, you can test purchases without having to upload anything to the Play store.
You do need to upload an apk before you can create any in-app-billing products. However you don’t need to publish it to production. Just publish the apk to either alpha or beta testing, and then you will be able to create in-app-billing products without affecting your production app.