cancel
Showing results for 
Search instead for 
Did you mean: 

How do I update the AndroidManifest.xml for AppLab submission?

nastyjman
Protege

So I'm trying to get my app to AppLab, and I'm getting the following:

APK is debuggable (android:debuggable in AndroidManifest.xml). NOTE: you may only distribute debuggable APKs through private channels.
Android Target SDK version is 29, but should be 32 or greater (targetSdkVersion in AndroidManifest.xml).
 
NOTE:
Your manifest includes the following permissions restricted by Oculus:
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.READ_MEDIA_AUDIO
- android.permission.READ_MEDIA_VIDEO
- android.permission.READ_MEDIA_IMAGES
- android.permission.ACCESS_MEDIA_LOCATION
- android.permission.READ_MEDIA_IMAGE
- android.permission.WAKE_LOCK
Please remove these permissions if they are not needed by your application. If they are needed, you must include justification in the “Notes for the Reviewer” field when submitting your application for review. Failure to provide justification will result in the rejection of your application.
 
Build Upload Error - an error has occurred for app id: xxxxx

 

When I change the xml file, it reverts to true again. I tried adding "android:debuggable="false"" to the Extra Settings, but it still gives me the notice that debuggable is set to true.

Also, I need to change the permissions, which I have no idea how to change.

Any help is appreciated. Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions

nastyjman
Protege

Regarding the permissions, I resolved my issue with this video: https://www.youtube.com/watch?v=vMBwlkoCf_o 

 

However, now I'm having problems with Keystore, which tells me it's Invalid, even though I followed the instructions. I tried multiple times, generating a new keystore, but it still won't let me sign for distribution.

Any help is appreciated!

--- Keystore Solution below

Solution finally found!

If you are having a "keystore invalid format" problem, you're probably using the keytool command line instructions. That's not working for me, and might not be working for you.

To fix, open Android Studio, create a Blank Project, and then go to "Build->Generate Signed Bundle/APK". This might be grayed out at the start since the project is loading files. If it's still grayed out, click the magnifying glass and search "Generate Signed Bundle." (Source of solution: https://www.reddit.com/r/unrealengine/comments/126h3az/invalid_keystore_format/ )

Put in the info for your keystore.  You'll notice that the filetype is .jks, which is different from the official documentation that creates a .keystore filetype. Use the .jks filetype. Then choose "release" and "V2" version.

If you get an error when running this, then you may have to rename some files in your Android Folders. You will be renaming 2 files, which are d8.bat and d8.jar. Here's the link on how to fix that: https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted 

Once that's done, place the generated keystore (.jks) to the Build/Android folder. Package your project in Unreal, and it should package correctly!

View solution in original post

4 REPLIES 4

nastyjman
Protege

I resolved my issue with permissions with this video: https://www.youtube.com/watch?v=vMBwlkoCf_o

 

However, now I'm having problems with Keystore, which tells me it's Invalid, even though I followed the instructions. I tried multiple times, generating a new keystore, but it still won't let me sign for distribution.

Any help is appreciated!

nastyjman
Protege

Regarding the permissions, I resolved my issue with this video: https://www.youtube.com/watch?v=vMBwlkoCf_o 

 

However, now I'm having problems with Keystore, which tells me it's Invalid, even though I followed the instructions. I tried multiple times, generating a new keystore, but it still won't let me sign for distribution.

Any help is appreciated!

--- Keystore Solution below

Solution finally found!

If you are having a "keystore invalid format" problem, you're probably using the keytool command line instructions. That's not working for me, and might not be working for you.

To fix, open Android Studio, create a Blank Project, and then go to "Build->Generate Signed Bundle/APK". This might be grayed out at the start since the project is loading files. If it's still grayed out, click the magnifying glass and search "Generate Signed Bundle." (Source of solution: https://www.reddit.com/r/unrealengine/comments/126h3az/invalid_keystore_format/ )

Put in the info for your keystore.  You'll notice that the filetype is .jks, which is different from the official documentation that creates a .keystore filetype. Use the .jks filetype. Then choose "release" and "V2" version.

If you get an error when running this, then you may have to rename some files in your Android Folders. You will be renaming 2 files, which are d8.bat and d8.jar. Here's the link on how to fix that: https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted 

Once that's done, place the generated keystore (.jks) to the Build/Android folder. Package your project in Unreal, and it should package correctly!

This worked great for us too, thanks for letting us know, but we are having a new issue and I would like to know if anyone else also has it, basically, the builds summited using this new keystore file wont boot on quest 2, but work great on quest 3, and it doesnt matter if we install them with sidequest, the meta quest developer hub, unreal with the launch or through the store, any idea what could cause this?

It seems I had somehow a corrupted installation of android studio or any of its components, a complete reinstalation from scratch fixed this, just leaving this in case someone finds this and has the same issue.