Im currently trying to program a little game for android with Unity3D. Because I want a visible status bar, I modified the AndroidManifest in the Project Folder (C:UsersPublicDocumentsUnity ProjectsProjectNameTempStagingArea) like this :
<application android:theme="Theme.Light.NoTitleBar" android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="false" android:isGame="true" android:banner="@drawable/app_banner">
But everytime i generate the APK, unity changes the Android Manifest to this :
<application android:theme="@style/UnityThemeSelector" android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="false" android:isGame="true" android:banner="@drawable/app_banner">
Unity3D does change my modified Manifests everytime?
Advertisement
Answer
You are modifying the wrong AndroidManifest
file. That AndroidManifest
from <ProjectName>TempStagingArea
you are modifying is generated by unity each time you build your project.
To use a custom AndroidManifest
file, you have to put your custom AndroidManifest
file at <ProjectName>AssetsPluginsAndroid
.
1.Go to <UnityInstallationDirecory>EditorDataPlaybackEnginesAndroidPlayerApk
, Copy the AndroidManifest.xml
file to your <ProjectName>AssetsPluginsAndroid
2.Open the copied Manifest file from <ProjectName>AssetsPluginsAndroid
and add your manifest.
In your particular case, add <application android:theme="Theme.Light.NoTitleBar" android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="false" android:isGame="true" android:banner="@drawable/app_banner">
to it. Save, Build and Run.
Unity will now use that AndroidManifest
file. If you get crash or any other problem, then Unity does not want you to change that.