Unable to export signed apk due to default app name

Hi all,

A few years ago I launched an app on the Google Play store using Processing. I wasn’t worried about the name so it ended up with the name processing.test.bugrope. This doesn’t worry me, the issue is that in an upgrade of the Processing IDE, building a signed APK is now blocked because of this name! I.e. I cannot create a signed APK and get the error message:
the sketch still has the default package name. not good, since this name will uniquely identify your app on the play store

This is a huge issue as I have users of the app that I need to deploy a fix of the app to - I don’t want to create a whole new app on the Google Play store.

What is the workaround? Does anyone know a setting in the IDE that can override this? Or is there a version where this was introduced and now I cannot upgrade beyond that version of processing? I.e. I have to go back in time to an earlier version of Processing and I can only build with this version.

Any help would be appreciated.

The following reference may be helpful (if you haven’t already seen it):
https://android.processing.org/tutorials/distributing/index.html

Thanks for the link, I am aware of that. It discusses the naming convention but unfortunately does not help me with my issue.

If you have the original source code change the package name in the manifest and re-export it with the correct package name.

Hi svan, thanks again for the message. This is not the problem. I have created the signed APK previously with the name processing.test.bugrope and in some version of the IDE they blocked the creation of signed APKs that have processing.test in the name. So I am stuck. I have already launched my app on the Google Play app store but I cannot update it due to the change in the IDE. I’m looking for help to get around this. I cannot change the package name as the app is already on Google Play.

Any ideas would be greatly appreciated.

I have no knowledge of how Google Play operates, but is it not possible, for example, to delete version 1.0 of your app and replace it with version 1.1 (which will have an accepted package name)? If I understand you correctly, are you saying once an app is published on Google Play it stays there forever? What is the procedure for updating an app on Google Play?

Hi svan, thanks for your response. What I recommend is have a look at this:

It explains the problem. Unfortunately Processing has now blocked certain names which breaks things. Unfortunately none of your suggestions assist but thank you for trying to help.

For whatever it’s worth, I just exported a signed package for android without error when I used ‘processing.test.myapp’ as the package name in the manifest. I also added an iconset of seven images and now have a custom runnable app on my android device. A screen shot of the metadata from the apk is shown below:

@bugrope

Hi

I had the same problem… quite a long time ago , so I was forced to move to Android Studio. A new learning curve of course but once up and running it has been reasonably painless. The big plus now is that I can stay up to date as Android updates occur … no waiting for Processing to catch up.

Processing is an amazing package and I still use it to draft ideas, but if you’re trying to keep up to date on Google Play …start using Android Studio :+1:

I cannot create a signed APK and get the error message:
the sketch still has the default package name. not good, since this name will uniquely identify your app on the play store

That’s not an error message, but merely an informational dialog; the entire message is shown below. So far I have not seen a real error message. processing.test.yourAppName should work ok in my experience.

Hi svan, thanks for digging further and testing. I’ll double check whether my version of processing created a signed APK package (travelling today and tomorrow so will have to check on weekend). What version of Processing are you using? I just want to ensure that my version and your version aren’t too different.

What version of Processing are you using?

That could be important. I’m using one of the earlier versions of Processing 4 which has been modified and recompiled to allow me to use JavaFX with all the modules loaded. I’m not using the latest version for every day work. The icon is shown below. I’m also not using the latest distributed version of Android mode due to errors. I found a modified version on github which does work on my system: https://github.com/processing/processing-android/issues/729#issuecomment-1578967148 . There is a specific error msg you will see if this is problematic and is a different issue from what you are describing. I hate it that we are having all of these problems using Android mode, but still find the Processing editor by far easier to use than Android Studio. The good news is that it is open source and we can change the code, but recompiling is not easy in my experience.

icn

Addendum:
Just checked on another system with unadulterated Processing 4.3 and it created apk without error there also.

1 Like

Hi Svan,

Thanks for further looking into it. When I go to Export Signed Package, I get the error message as per:


So I cannot export an apk. I am also using an unadulterated Processing 4.3. So my version is blocking the creation of an apk which is incredibly frustrating. I am working on Windows too. I have in my AndroidManifest.xml that
package="processing.test.bugrope"
This looks different to yours. You have “applicationId” in yours, my AndroidMainfest.xml looks like the following:

<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="33" android:versionName="2.50" package="processing.test.bugrope">
    <application android:icon="@mipmap/ic_launcher" android:label="">
        <activity android:exported="true" android:name=".MainActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

The manifest is auto created by Processing when I try to export the apk.

I didn’t realize that you was using Windows; I used MacOS. I have a Windows 11 box so will see what happens on that.

Addendum:
Took me a while to figure out Windows way of doing things, but I successfully created an apk with Windows 11 also (see metadata below). I’m not sure why it does not work for you.

Are you adding an iconset to the sketch folder? I added seven icon images to the sketch folder as well as setting the package name. The following link will create an iconset and place it in your sketch folder; you will need to change the path for your system: https://discourse.processing.org/t/confused-about-app-icons-for-android/43105/3

That’s in the apk metadata not the manifest.

The manifest is auto created by Processing when I try to export the apk.

You have to type in the package name yourself if you’re not already doing that.

Ok, the Manifest is the problem. The AndroidManifest is what Processing uses to name the app. I don’t know how and what your version is doing with APK Metadata nor can I see it on my side nor do I think it is used for mine.

I don’t need to type in the package name myself. It takes it from the main PDE file and appends it to processing.test to give it the package name, so I don’t need to provide it anywhere. It is autocreated.

Given you wrote you used Windows and you are using the metadata to create the package name how does that work? Where is your metadata file? My AndroidManifest.xml is in the same directory as the main PDE file.

Not sure, but this is infuriating that they block the creation of an APK. I honestly cannot believe they did this.

The metadata file is created when you select File/ExportSignedPackage. The informational dialog about still having the default package name is shown every time in my experience; you just have to click ok and ignore it. What you do have to do is type in a package name (which in your case was apparently used for your Google app). My manifest package name is left blank, but you can type in something similar to the default one and it will take it. You also have to supply an iconset of multiple sized images. The last step is to provide a key code which hopefully you saved when you originally prepared your app for publication. I can go through it step by step if it will help.

@svan let’s jump on a call and check it out. I see that you can send personal messages given your status, are you able to send me one so we don’t have to write our email addresses or something on this public forum?

I can’t even create a metadata file as I can’t even create the ExportSignedPackage. As you can see with my dialog it fails and says “Cannot complete export…” i.e. it blocks me. As mentioned, on mine, I don’t need to type in a package name as it is part of the AndroidManifest.xml file that I posted above.

I supply an iconset of multiple sized images, that is not the issue, I’ve built it before with everything the same. Just I am using a new version of Processing and they have decided to block me.