Expo - The package name 'com.xxx.native.xxx' specified in AndroidManifest.xml is invalid for use in Java, as 'native' is a reserved Java keyword

For as long as I can remember, I've been using the pattern 'com.mycompanyname.native.appname' to name the bundle Ids for my apps. This approach has served me well over the years and I've created numerous apps with the keyword "native" in the package name. However, I recently encountered this error when transitioning from classic expo builds to EAS builds. Now, as I need to update several live apps, I'm wondering if there's a workaround to resolve this issue?

Answer №1

A solution is available through a two-step process:

  • Modify the package name in your configuration file to adhere to valid Java naming conventions
  • Utilize a configuration plugin to adjust the applicationId in your build.gradle file to match your previous package name

This approach ensures that your applicationId for the Play Console remains unchanged, while allowing the Java package name to be valid for building purposes.

For reference, here is a link to a gist containing an example config plugin and instructions on how to incorporate it into your app.json file:

https://gist.github.com/kbrandwijk/cef9e3b01cff91f8dfad8f47f02cb880

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Is there a variance in window.innerWidth between Chrome and Firefox?

body, html { position:absolute; width:100%; height:100%; margin: 0; padding: 0; overflow: hidden; } When using window.innerWidth, there is a discrepancy between the values returned by Firefox and Chrome. Firefox return ...

Retrieving an attribute through the act of clicking a button

How can I retrieve the rel attribute value when clicking on a button with the class selector? <button class="nameClass" rel="relName">Content</button> I am attempting to achieve this by: $(".nameClass").click(function(){ // Here is where ...

Express middleware for serving static files using express.static() is not properly handling routing and is throwing an error stating that next()

During the development and testing phase on my local machine, everything was working as expected. However, once deployed to our UAT environment using Docker, I encountered some issues that are puzzling me: next() is not a function Another problem I'm ...

Unable to host Express and React application on port 80

I have a React application compiled with Express serving as a static React site, and I want to host them on port 80. The challenge is that my VPS runs Ubuntu with Plesk Onyx supporting multiple applications as subdomains on vhosts using port 80: server.l ...

Guide on How to Upload Huge Files Using a Single Connection in JavaScript

As I work on writing some HTML/JS code to enable the uploading of large files (multi-GB) to a remote server, I am facing some challenges. In the past, we relied on a flash uploader that sent a file in a single network request. However, using flash has now ...

How to access the visual editor for the latest Activity on ANDROID

After following the instructions provided here, I successfully created a new Activity in my Android project by modifying the androidManifest.xml file. The class for this new Activity is DrugieOkno, and I launch it from the MainActivity using the following ...

"findByIdAndUpdate continues to work successfully even when the request body includes parameters that are not defined in

Referenced from This particular tutorial on MERN stack development... In my mongoose schema, I have defined 4 fields: const mongoose = require('mongoose'); const Schema = mongoose.Schema; let Todo = new Schema({ name: { type: String ...

What causes the hex encoded representation of a byte array to differ from the byte array itself when converted back to a byte array object?

This inquiry stems from a place of curiosity rather than any pressing need. Recently, I came across a code snippet that purportedly converts an object to a byte array (which I believed I needed at the time). While using commons-codec for this purpose, I o ...

Retrieving information from an Open Office spreadsheet using Selenium and Java

Can Open Office spreadsheet (ODS) files be utilized for reading and writing data in Selenium with Java? I have conducted a thorough search online but have not been able to find any solutions. Any assistance would be greatly appreciated. ...

Problem with Snowpack's internal module import paths

While working on a project, I am using npx snowpack build --watch instead of the dev command because of a Flask backend. However, I am facing issues with internal imports, specifically modules importing dependencies like Bootstrap importing Popper. The pr ...

To properly render an HTML file before loading a JavaScript file, express.static fails to serve the HTML file

Within my server.js file, the following code is present: var path = require('path'); var express = require('express'); var app = express(); var htmlRoutes = require('./app/routing/routes.js')(app, path, express); As for my r ...

What are the characteristics of a ParallelStream Queue?

Currently, I am utilizing parallelStream for concurrent file uploads where some files are large and others are small. However, I have observed that not all workers are being utilized. Initially, everything runs smoothly with all threads in use (parallelis ...

utilize dynamic variable within the template's views

Here is a snippet of my HTML code var marker; function initMap() { map = new google.maps.Map(document.getElementById("mymap"), myOptions); getMapMetadata([]); // setInterval(function(){ getMapMetadata([]); }, 3000); } function createMarke ...

Focus is lost on React input after typing the initial character

Whenever I input text, the focus is lost. All my other components are working fine except this one. Any ideas why this might be happening? I attempted to create separate components and render them in my switch statement, but it still doesn't work. O ...

WARNING: Unable to parse the HTTP request header

While testing my form submission, I decided to experiment with the amount of information I could send via HTTP. My database management system is Mysql. I have an application that includes several Texarea fields. For example, a form with 10 texareas (I am ...

A useful method for adding an element to a variable to display in a React component

In the scenario where you have a react component similar to the following (https://jsfiddle.net/69z2wepo/28684/): var Hello = React.createClass({ render: function() { let { cond, name } = this.props; let content, content2; if (cond){ c ...

What could be causing my Javascript clock to malfunction?

I am having an issue with my clock code, which is supposed to display the date and time set 2 weeks in advance. Unfortunately, it is not working on either local or server environments. Can anyone help me troubleshoot this problem? Here is the code that I ...

Executing multiple jQuery Ajax requests with promises

I've been learning how to use promises gradually, and now I'm faced with the challenge of handling multiple promises. In my code snippet, I have two email inputs in a form that both create promises. These promises need to be processed before the ...

"Unlocking the Secrets of Extracting Data from Highlighted Cells in Excel with Node.js

I created a script in node.js to extract information from an excel file. Each row contains a highlighted cell (only one). Right now, I am utilizing the xlsx package to access the data. Here is my code snippet for retrieving data from the sheet: var XLSX = ...

Svelte is unable to bring in

Hey there, I'm new to Svelte and currently working on a simple feedback app. I have divided my project into two files - one for the main app and another for a list of feedbacks. Here is my App.svelte file: <script> import feedback from ". ...