Today I unveil Vulpecula, which aims to make targeting API 30 or API 31 simpler. It takes care of everything you could think of, besides source code.
Key points
AABs are generated!
The ability to upload AABs looked to be too complicated, so I didn’t even test if they’ll be accepted. They should be.
Allows transitioning from API 29 to API 31.
AndroidManifest.xml is modified in the transition.
The allows uploads to target API 31, it’s highly recommended.
APKs are created so you can test behavior!
Signs outputs with the chosen keystore automatically.
You don’t even need Java installed!
Warns of dangerous permissions.
Also warns of permissions which may be subject to review when publishing your application.
Works with the command line and system integration.
Steps
1. Download Vulpecula
As Vulpecula isn’t yet open-sourced, you’ll need to download it from below and unzip the executable. Move the executable to your desired location. For now, it only works with Windows devices.
* To modify your environment variables, take a look here. “Windows 7-10” will also work for Windows 11.
The directory which you put the Vulpecula executable in will need to be included in your “PATH.” The executable itself can’t be in the “PATH.”
3. Open a command prompt
* If you have any existing command prompts open, close them then open a new command prompt. Your changed environment variables will not take effect without this.
* On your first run, Vulpecula will attempt to download prerequisites.
I recommend using Windows Terminal Preview for this, but it’s your choice. There are two ways that Vulpecula will recognize its “calling”:
Running vulpecula alone will show the system file explorer
Select an APK first, then the KeyStore exported from Kodular.
To export your KeyStore from Kodular, in the upper-right-hand corner click on the icon that’s all the way to the right (when you hover over it, it should say “Account.”) Select “Preferences” then “Export keystore.”
Vulpecula will remind you of dangerous permissions in your project when it checks them. This is only to make sure your project actually needs them, instead of including useless dangerous permissions for no reason.
Vulpecula will also check permissions against a list of those that may lead to your project being reviewed manually by Google when publishing to the Play Store. This is so you can be prepared for any hitches in your release.
To be clear, no permissions are added to your project when using Vulpecula.
It doesn’t matter what happens if you don’t change your environment variables because no matter what you’ll have to, otherwise Vulpecula won’t work unless you open a command prompt in the same directory that the executable’s in!
Profoundly,
– Nathan
radiogenibau
(Rádio Web Genibaú - Livres para Adorar)
#8
first I ran vulpecula, selected the apk and then the keystore and nothing happened, second I opened the cmd, put the codes and nothing happened, then I took the vulpecula executable and pulled it into the cmd, selected the apk and then the keystore appeared there this message
• Prerequisites found
• Decoding resources from APK
• Modifying sources for API 31
Unhandled exception:
type ‘AsyncError’ is not a subtype of type ‘String’ #0 new Migrator.. (file:///c:/users/knaus/ideaprojects/vulpecula/bin/migrator.dart:32) #1 FutureExtensions.onError. (dart:async/future.dart:770) #2 _RootZone.runBinary (dart:async/zone.dart:1618) #3 _FutureListener.handleError (dart:async/future_impl.dart:169) #4 Future._propagateToListeners.handleError (dart:async/future_impl.dart:719) #5 Future._propagateToListeners (dart:async/future_impl.dart:740) #6 Future._completeError (dart:async/future_impl.dart:550) #7 Future._chainForeignFuture. (dart:async/future_impl.dart:495) #8 _microtaskLoop (dart:async/schedule_microtask.dart:40) #9 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49) #10 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:120) #11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:185)
It’s possible that you already had the application installed. This may require you to uninstall the application to use the new APK. If that doesn’t resolve your issue, I’ll take a further look into it.
I also have the same situation as you. I pulled it into the Windows Terminal Preview => same message.
if i just run “vulpecula”, selected the apk and the keystore, then “vulpecula” is disabled right after that.
Thank you very much. It works perfctly … But I have kind of a stupid question . Which emulator can I test the apk ? or can i install it on old android version phones?