Making my first Android App – How the heck does signing work?

For a long time I had that idea about an Android App specifically for Drumming here in Switzerland. A lot of the resources we use in practice, rehearsal and training are only available in print form as physical books. Some are only available online on websites that don’t work properly on smartphones or tablets. And many practices are only known by a few people without any documentation how they might work. There had to be a common solution that could bring together these different types of media and knowledge into one service.

The idea isn’t new at all. I actually was working on this already a few years back and registered the domains and names I want to use in 2013 in hope to get myself to make this work quickly. But as life sometimes plays, it didn’t let me work on this as much as I wanted. So other people did do even more things and now the mess is even bigger I think and calling for a solution. That’s when I gave working on the app another try.
There also will be a website that works alongside the app but this post shall be about the app and what I had to struggle with making my first alpha version.

Java?!

Now I’m no stranger to programming, yet I am (or was) to Java. I tried multiple times to get used to the language but for a long time never managed to find a good book or resource that could teach me the basic understanding of the language. Normally it was “1st Lesson: Hello World” and then “2nd Lesson: How do we make a new instance of a parenting class with static variables of sub classes, comparing them and dividing the result by pi as a long number that creates a colour on a material button design”.
I know that second lesson doesn’t make a lot of sense.. but that’s how most guides felt like to me.

A while back I then found a nice beginners guide that could finally teach me everything I needed to know to finally understand Java. It’s a German book with the title: Java-Programmierung für Anfänger: Programmieren lernen ohne Vorkenntnisse (Java-programming for beginners: Learn how to program without any prior knowledge) and this book really helped me out a lot. Even now I still use it as reference book.

Now of course that’s just Java and for Android Apps it’s a bit more complicated than that. Yet it was enough so that I have some idea of what’s going on at least.

Android Studio

Already back in 2013 I tried the first releases of the Android Studio on hopes to make that app work. The disappointment was enormous back then. It was labelled beta for a god reason because it crashed many, many times over and over.
Now in 2018 it’s a very solid development studio that works (most of the times) and does what it should do. It does a lot for you – sometimes a bit too much – and I think any one starting with programming should use the android studio too to get started.

Hello World – Hello Google Play Console

So I managed to get that working and make a first App that would say the famous “Hello World” after opening. That should be my first release I make into the store to test and see how it works.

Making a development apk and running it in the simulator or on the phone was easy. So it shouldn’t be a problem to release that as a test app right?

Now I must say that I did sign up as android developer early on. I checked my mails and still found the receipt for the entrance fee that I payed. So on the 10th of September 2009 at 15:46 GMT+02:00 I did pay the one time 25$ fee to become a developer. The fee has not changed since then which surprises me actually. And my login still works after all these years!

From time to time I did peek into the Google Play Console, the website for developers where you will upload your app to to release it into the store. But without an actually app to release, I was limited with what I could do. Now however I had my first APK ready and wanted to push it out! Probably first as closed beta so only I can see it… But I wanted to push it out! 😀
So I created a new application and went through the basic settings. That you need an icon already at the beginning was not surprising, yet the necessity of screenshots and even a title image was! So I quickly created them and looked at the release management.

So I have a Production, Beta, Alpha and Internal Test Release channel (the last one isn’t shown on the picture). Naturally I started at the bottom, Internal Test.

Sign your APK … what?

The form looked simple enough. Upload an APK, add a release name and change log. No problem right?! Selected my APK and boom error: You cannot upload a test-only APK.
So there must be something else I have to do. After some searching I found an article telling me to sign and how to sign my app. It was however a bit confusing as it describes both a manual signing and the “automatic” Google Play App Signing which will use an uploaded key to “un-sign” it and make a new one from google to sign it again.
that was still too confusing and more upload attempts failed.

Only after some more search I found this help article going step by step what had to be done. And then again another error.. Signature invalid?!
What happened now? A minor “detail” due to the fact that I said, my app should be able to run on Android 5.0 API 21 and I tried to use Sign V2 Full APK Signature which isn’t supported below API 24.

Finally I could upload my first APK!

All was set, the test release was uploaded, rolled out and then.. um.. what now? Where can I find it? The status said “Full roll-out” yet the link on the top to the store didn’t work always telling me that there is nothing on the server.

I waited half a day, still nothing. So I released it into Alpha with a test group. I entered my mail-address for the test and the roll-out was almost instant. Yet.. what now?
Still nothing on my phone, no mail and the server still told me that there was nothing to be found.

From previous beta releases of apps I knew there was always some sort of sign up that had to be done. But this time I thought I made it a closed group that only people I enter manually can get the app. So why do I not see anything?

After a few hours I finally did see a link to Opt-In, could sign up again to my own app and then the link to the store worked. I tried to find the link again but it seemed to have vanished.. really weird..

But anyway, at that moment I finally could see the app in the store online!

And also on my phone it worked!

It took me a lot longer to figure out how to release and manage releases than I hoped but I think now I know the basics.

It still will be a challenge if I ever want to go full productive. The amount of things that have and that can be done for a release are enormous.
I did do many of them already by just looking though and clicking where I did see something new popping up. So I do have a content rating, I do have a store listening in multiple languages as well as a developer page up and running now. But there is so much more that can and has to be done if I ever want to really release it. It’s crazy! However that won’t keep me from actually doing it now that I have done the first step.

And the app now?

So the app is still in alpha and only I am testing it on my phone. I do know what I want to do but I still lack the knowledge of how to actually do that in Android Studio. After some more learning I hope to one day make a first release as “open beta” that will have some content in there and some of the functions that I want the app to provide.

Right now the only thing that is in there after a second alpha release is a new menu~

Next thing I will tackle will be the first “real” function, a LONG list with compositions and details for each composition. Maybe even use an online database as source.. I’ll see.. Yet I have absolutely no idea how to do that.. but I know it can be done somehow!
Is there anything you would like to know about the process of making the app? Let me know if you have any questions!

Leave a Reply

Your email address will not be published. Required fields are marked *