Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deploying Android App (developed in Delphi FireMonkey) to Google Play Store

I am attempting to deploy my first app to the Google Play Store. Each time I upload the APK file, I get the following message:

"Upload failed You uploaded a debuggable APK. For security reasons you need to disable debugging before it can be published in Google Play. Learn more about debuggable APKs."

I am building a release version of my code. I upload the release version of my APK file from:

\Projects\MyAppNameHere\Android\Release\MyAppNameHere\bin\MyAppNameHere.apk

In my Projects Debugging options, it is set to "No Debug information"

I have also modified the AndroidManifest file to say:

android:debuggable="False"

However, the Google Play Store keeps giving me the same message that i need to upload a non-debuggable version.

What Am I doing wrong? I should note, every time I build a new release version of the APK file, the AndroidManifest file reverses back to

android:debuggable="True"
like image 633
JakeSays Avatar asked Mar 18 '15 13:03

JakeSays


People also ask

Can you use Delphi on Android?

Code faster and smarter with a single code base Build apps faster with a single source code base that cross-compiles for Windows, macOS, iOS and Android.

How do I deploy a code on Google Play?

In Android Studio, navigate to the build option on the top menu and click Generate Signed Bundle/APK. The Generate Signed Bundle or APK window will pop up, click the Android App Bundle option then next. Click the Create new button to generate your signed app bundle.


1 Answers

There are two types of certificates for signing your app:

  • Debug certificate: to connect a debugger to your application, to be able to access your apps's private data directory
  • Release certificate: to upload your app to an application store (like Google Play)

Delphi puts a debug certificate for you on your PC so you can start developing & debug your apps.

It even uses this certificate if you compile with a release profile when you forgot to create your own certificate.

So make sure that

  • Your build configuration is set to "release"
    enter image description here
  • Your Target Plattform configuration is "Application-Store"
    enter image description here
  • You have provided an own certificate for this configuration in Project -> Options -> Deployment (make sure your profile is Release Configuration - Android Platform)
    enter image description here

If you do not have a release certificate you can create a new certificate within a key store through the options dialog. Remember to always use the same release certificate for your app, and to store your key store in a secure place that no other person has access to it. Once you lost that certificate, you will not be able to publish updates of your app anymore!

If you like to install your release app on a device that already has installed a debug version of your app, you have to uninstall it first.

If you like to verify what certificate an .apk is signed with you can use the command

jarsigner -verify -verbose -certs %file_name%
like image 56
dominikkv Avatar answered Sep 21 '22 13:09

dominikkv