> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/push-provisioning/ja/integrate-the-d1-sdk/troubleshooting/push-provisioning-troubleshooting/android.md).

# Android

### Incorrect mode

**Cause:** This error occurs due to an incorrect mode on the phone.

**Fix:** You have to switch the phone from `SANDBOX` mode to `PROD` mode to resolve this error.

Refer to [Configure Sandbox](https://app.gitbook.com/o/fwy1mtbRONGA2YDKDBr0/s/62lLFDcmLCeqqwmy4Fee/integrate-d1-sdk/getting-started/configuration/2.-onboarding/onboard-push-provisioning-for-wallets) Testing for more information.

**Example error:**

```
Internal Error: CheckEligibility error in CardNetworkTokenService vendor layer: code: 14
```

### Invalid field length: cardHolderName

This error occurs on the Mastercard payment network when the length of `cardHolderName` exceeds the maximum length allowed.

The maximum length of `cardHolderName` is set at 27 characters according to Mastercard policy.

Refer to the [Mastercard documentation](https://developer.mastercard.com/mdes-pre-digitization/documentation/use_case/issuer-tokenization/#reference-api-implementation) for more details.

**Example error:**

{% code overflow="wrap" %}

```
Invalid Field Length - cardholderName"Internal Error: CheckEligibility error in CardNetworkTokenService vendor layer: code: 3
```

{% endcode %}

### Incorrect credentials of API key

This error indicates that the project is not configured on the payment network.

You have to configure the project to be on the payment network.

**Example error:**

```
card_network_token_error_code: "AUTHENTICATION_ERROR"
```

### Google Pay unavailable

This error occurs if one of these conditions is met:

* The issuer application is running on the emulator.
* The device does not have Google Play services installed. The Google Play services can be [downloaded from the store](https://play.google.com/store/apps/details?id=com.google.android.gms\&hl=en\&gl=US).
* The issuer application failed to obtain [access to Google's Push Provisioning API](https://app.gitbook.com/o/fwy1mtbRONGA2YDKDBr0/s/62lLFDcmLCeqqwmy4Fee/integrate-d1-sdk/getting-started/configuration/2.-onboarding/onboard-push-provisioning-for-wallets#request-issuer-application-access-to-push-provisioning-api). Please cross-check the package name and fingerprint of the test issuer application with the values that have been submitted to Google in the [Push Provisioning API Access Request form.](https://support.google.com/faqs/contact/pp_api_allowlist) If all data seem to match then escalate the issue to Google via <pushprov-api-support@google.com>.
* The Sandbox Environment does not have guaranteed service and can temporarily go out for a few days, but usually it doesn't take that long to come back. We suggest waiting a few days and trying the Sandbox Environment intermittently throughout the day to see if the service returns. If the issue persists or happen on PreProd or Production, contact <pushprov-api-support@google.com>

### Compile error due to duplicate entry of R.txt

This happens when the issuer application has the `android.enableJetifier=true` property set in `gradle.properties`.

To fix this, the issuer application may either turn off the Jetifier tool or ignore D1 SDK from being transformed by Jetifier as follows:

```
android.jetifier.blacklist=d1-release.aar
```

**Example error:**

{% code overflow="wrap" %}

```
> Failed to transform d1-release.aar to match attributes {artifactType=android-res}.
> Execution failed for JetifyTransform: d1-release.aar.
> Failed to transform 'd1-release.aar' using Jetifier. Reason: duplicate entry: R.txt. (Run with --stacktrace for more details.)
```

{% endcode %}

### Push provisioning launching new app

In some rare cases the push provisioning flow can be opened as an external application, when it happens it is not possible to get the Google Pay wallet result back to the launched issuer application.

<div align="left"><figure><img src="/spaces/62lLFDcmLCeqqwmy4Fee/files/XdraJGv7VVW7gBinnLEw" alt=""><figcaption><p>Example: push provisioning flow opens in an external application</p></figcaption></figure></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payments.thalescloud.io/push-provisioning/ja/integrate-the-d1-sdk/troubleshooting/push-provisioning-troubleshooting/android.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
