The new app publishing format, the Android App Bundle, is an improved way to package your app. The Android App Bundle lets you more easily deliver a great experience in a smaller app size, allowing for the huge variety of Android devices available today. You don’t need to refactor your code to start benefiting from a smaller app.
I'm getting this error trying to build my app Android Bundle:
File 'root/AndroidManifest.xml' uses reserved file or directory name 'AndroidManifest.xml'.
APK generation works fine.
This is my project file structure:
And this is my AndroidManifest.xml, located under {ProjectName}/app/src/main
:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.XXXX.XXXX"
android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- These permissions are strongly recommended and will result in higher performance -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:name="com.app.webview.Application"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:hardwareAccelerated="true">
<activity
android:name="com.app.webview.MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Universal APP Link -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="@string/app_host" />
</intent-filter>
</activity>
<!-- Push -->
<!-- Services that handles incoming message -->
<service
android:name="com.app.webview.Providers.FCM.FcmListenerService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<!-- Called if InstanceID token is updated -->
<!-- This may occur if the security of the previous token had been compromised -->
<service
android:name="com.app.webview.Providers.FCM.FcmInstanceIDListenerService"
android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<!-- Facebook Config -->
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/id_facebook" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
tools:replace="android:theme" />
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="@string/facebook_provider"
android:exported="true"
tools:replace="android:authorities" />
<!-- Fabric -->
<meta-data
android:name="io.fabric.ApiKey"
android:value="XXXX" />
</application>
</manifest>
A much simpler fix until Facebook fixes the SDK would be to add this to the packagingOptions in the android { } block of your app's build.gradle:
I can only confirm this works when building an App Bundle, I do not know about a regular APK.
Since October 31, Facebook released version 5.1 of the Audience Network SDK. Using
fixed the issue for me.
I ran into the same bug. Had to change a few things before getting a working build. For me it was:
I hope this helps you.
Late to answer but I was facing the same issue with slightly different scenario. I was not using the above mentioned facebook library but it was some other library, which I could not figure out because of less info by the build.
I had one sub module (say
module1
) which was including another library, which further had many dependencies. So I put,In the
build.gradle
ofmodule1
and then the issue was resolved.Just writing this answer to convey putting in
app
'sbuild.gradle
might not solve issue for all the cases.Thanks a lot @Jason for showing the right direction.
If I'm reading the file tree right, you have your
AndroidManifest.xml
file in theres
folder, which migth be the reason why you're seeing the error. Try to put the file in{ProjectName}/app/src/main
and rebuild the project.In my case, my error was caused by
I only downgrade audience-network-sdk from 5.0.0 to 4.99.3 and everything starting to work fine. I hope this help you.
Updated: As Sebastian said, now you can update audience-network-sdk from 5.0.0 to 5.1.0.