AndroidManifest.xml
Android apps manage permissions, device features, and other settings in the
AndroidManifest.xml
file, which is located at android/app/src/main/AndroidManifest.xml
.
AndroidManifest.xml
may reference additional files such asstyles.xml
andstrings.xml
within theandroid/app/src/main/res/values
directory via@style
and@string
. Read more about Android Resources.
This article covers the basic modifications you’ll need to make to your app. Read the Android Manifest docs to learn a whole lot more.
To change your app’s Package ID (aka
Application ID for Android), edit
applicationId
at the top of
android/app/build.gradle
:
defaultConfig {
- applicationId "com.capacitorjs.app"
+ applicationId "com.mycompany.myapp"
To change the name of your app, change the value for app_name
in strings.xml
:
<string name="app_name">MyApp</string>
It may make sense to change the activity name to match, especially if your app has a single activity:
<string name="title_activity_main">MyApp</string>
For a Deep Links guide, see here.
To enable deeplinking through Android App Links, follow the official Android guide on Adding Android App Links. Android Studio comes with a handy wizard for configuring App Links.
Once configured, the
getLaunchUrl()
method in the App API will provide any URL the app was launched with, and the
'appUrlOpen'
event will fire any time the app receives a new App Link deeplink.
Your app can respond to custom URLs on launch, making it possible to handle deeplinks and app interactions.
To change the URL, search for and modify this line in
strings.xml
. It’s recommended to set this to the Package ID.
<string name="custom_url_scheme">com.capacitorjs.myapp</string>
In this example, the app will respond to URLs with the com.capacitorjs.myapp://
scheme.
To get any custom URL the app may have launched with, see the Deeplinks section above.
In Android, permissions your app will need are defined in
AndroidManifest.xml
inside of the
<manifest>
tag, generally at the bottom of the file.
For example, here’s what adding Network permissions looks like:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.getcapacitor.myapp">
<activity>
<!-- other stuff -->
</activity>
<!-- More stuff -->
<!-- Your permissions -->
<!-- Network API -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
Generally, the plugin you choose to use will ask you to set a permission. Add it in this file.