I have the situation that I have an old APK file without my source code anymore. Until now it was no problem to install the APK manually and use it. Since I needed to install a work profile on my phone the security settings changed and I only can use signed apps from the Google Play Store.
Therefore my goal is to get the app to the Play Console - at least as a internal testing version.
My steps:
- I decompiled the APK with Apktool
apktool d "myapp.apk" -o "myapp.apk-decompiled"
Then I adapted the AndroidManifest.xml to meet the current Google Play Console requirements with regards to API level and Target SDK.
Used apktool to created the updated APK file
apktool b "myapp.apk-decompiled" --use-aapt2 -o "myapp-modified.apk"
- Next I used uber-apk-signer in order to sigh the app with my valid keystore file from another app that I published already in the Play Store.
java -jar uber-apk-signer-1.3.0.jar -a ./myapp-modified.apk --ks ~/Dev/Keystore/upload-keystore.jks --ksAlias myalias
- Eventually I used a converter (android app) to get the bundle file (aab) from the APK
Now, when I try to create a release for internal testing in the Google Play Console I can upload the aab-file just fine, but when I progress to the next step, unfortunately 1 error remains that prevents me to release my app. Error: "This release is not compliant with the Google Play 64-bit requirement. The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code"
My assumption is that it is linked somehow to libraries that are included in the APK.
Directory structure:
lib
|-- armeabi
|-- armeabi-v7a
|-- x86
I've read lots of solutions by adapting the gradle file. As I need to decompile the APK file, I have no gradle file that I can edit.
Any hints if that is possible at all?
Update #1:
Meanwhile I found the correct 64bit lib files and added them to the lib directory. But still no luck once I recompiled the app with apktool
lib
|-- armeabi
|-- armeabi-v7a
|-- x86
|-- x86_64