Difference between debug.apk and release.apk

Hi to everyone!
As the title says, i need to know the difference between the version of builds of an app. I usually use the debug mode, and when i change something i rebuild that type of apk.

Now i’ve got some problem with an apk update. I’ve installed it on my phone, create a script that downloads the updated apk and runs it. It works fine, but when the installation is complete, an error occurs.

Is the problem related to the debug apk? Is anyway better to use the release apk?

on the ionic CLI I usually use this command:
$ ionic build android

I see in other topics this cordova command:
$ cordova build --release android

what’s is better to use?

NB: Our application isn’t on the play store.

So most of the ionic commands are essentially aliases for the cordova commands so ionic run ios is cordova run ios

So in your example
ionic build android will build a debuggable apk, mostly testing and not ready for the app stores.
ionic build android --release will generate an apk ready for releasing to the app store, but hasn’t been signed yet.

Thanks @mhartington! All clear. If i don’t want to get my apk on play store, isn’t the release build necessary? I can create a *.keystore and use it for release build without place my apk on the play store?

If you’re not planning on release the app to the store, you don’t need to sign it.
The point of the release build is that all the debug flags are turned off so no one could attempt to debug the app afterwards.


Thanks a lot! Now i’ve understand :slight_smile:

@mhartington Is this same for ios ?
ionic build ios will create a debuggable xcode prject that cant be submitted to appstore ?

@mhartington, can you explain

  1. ionic cordova build android -> Applicaton is slow ?
  2. ionic cordova build android --prod -> Applicaton is Fast ?
  3. ionic cordova build android --prod --release -> Applicaton is slow ?