Can the bundle-Identifiers of iOS and Android differ on Flutter? - android

I uploaded a test-release for an App on both iOS & Android on AppStore/GooglePlay using their respective native programs. In other words I reserved their bundle-identifiers string.
Now I'm trying to code the App using Flutter, which is freshly new to me.
Can I create a Flutter project (running on Android Studio) for this app and then change the bundle-identifiers names for each platform separately? and will it work so I could update these apps continuously?
For example,
One App created with a bundle-identifier for iOS like this: 'com.thisApp.thisApp', on itunessconnect (reserved).
Same App with a different bundle-identifier was created for Android on Google Play Console and reserved: 'com.anotherApp.anotherApp'.
None of the apps are LIVE.
Now, if I create a Flutter project I have to choose a package name say 'com.thisApp.thisApp'.
This package name will be created for both platforms by default!
Although I figured out that you could change the package name in Flutter,
as in this post - How to change package name in flutter?
However it's still isn't clear to me, if I DO change it, does the package-name must be identical foreach platform? i.e 'com.anotherApp.anotherApp' OR could the package-name/bundle-id for each platform differ? and even if it works on debug, will it work on release?

So I managed to solve this and answer my own problem.
Yes it is possible.
As already mentioned, before I started to work with Flutter, I used Android Studio and Xcode to upload a "draft version" of the App to the Google Play and App Store respectively in order to "reserve" these AppNamePackages.
Since in one store the same name/package was already taken, I used another name, for example:
com.thisApp.thisApp
and
com.anotherApp.anotherApp
To achieve this in Flutter you need to make sure that:
You change the desired applicationID in the Android-app level build.gradle file and in the AndroidManifest.xml
for this example lets call it com.thisApp.thisApp
You go through equivalent procedure for iOS by changing the desired package name in the info.plist.
for this example - com.anotherApp.anotherApp
By selecting any file under Runner folder (iOS folder in Flutter) you can click "Open iOS module in Xcode" and pick the correct App name and package in the App Project.
And that's it. Flutter didn't make problems considering the two different package names. The App bundles were uploaded based on their previous Google Play and iTunesconnet configurations.

Related

How to temporarily change the package name of an Android app?

I need to temporarily change the package name of an Android app.
The reason I need to do this is because my customer does not yet have a Google Play account, but wants to test the app I've been developing for him. So I want to put it on an internal testing channel using my Play account, but I want to do so under a different package name.
When I develop iOS apps, there is a mechanism in Xcode by which any app can have multiple targets, and each target can have a separate bundle ID, and other properties, creating a unique app from the same source code. Then I can switch between targets at will to produce either version of the app.
What is the correct way to do this in Android?
The answers I've found online suggest that a wholesale refactoring of all the package names in the actual source code files is necessary -- I don't think this is the right answer in my case. I just want to toggle between two package names the same way you would toggle between build variants.
Thanks,
Frank
Use applicationIdSuffix ".demo" to extend the given name (the namespace does not really matter, the package name only has to be unique). One probably cannot completly override the applicationId; the merge output of AndroidManifest.xml would show what is broken.
Better publish to Firebase App Distribution first (can be linked to Play Store).
There the obstacles are generally lower - and one can also see remote crashes.

Can a new Android app replace existing app in the play store?

I have an android app developed in native Android, which is released in the Play store. I am wondering if I should rebuild the app in Flutter as I want both Android and iOS apps. However, I am not sure if the new android app developed using Flutter will be able to replace the current app. I want to use the same package name and release key. Also, most importantly preserve my users.
Thank you!
Yes, it is possible if you sign the new flutter app with the same release key and with the same package id.
That should indeed be possible. Afaik a play store "update" is just a new apk. I have had plenty of apps that have done this, so it is definitely possible, you'll just want to make sure package names and other important config objects are the same.
Yes, You can do that. You just need to take care of Package name, Version name and Version code of you application (if applicable).
Yes, you can replace already existing app with Flutter app but you need to take care of few points to be able to do this.
Please take care of following things:
The package name must be identical with the old application. Please take a look into Manifest file of old app and replace the package name in new application AndroidManifest.xml file with the package name from old application.
Now take care of the versionCode and versionName, this info can be retrieved from AndroidManifest file of old application and upgrade it in Flutter's pubspec.yaml file with version attribute as it is must to keep it greater than previously released application. This attribute has the form of 0.1.1+3 where 0.1.1 corresponds to versionName and 3 (the number after + sign) to versionCode.
Here's the crucial part, the keystore file used to sign New Flutter's version must be the same used to sign the Android's native release.
If you follow all these steps then you can update the new version of the application irrespective of the programming framework you are using i.e Kotlin, Flutter, React Native or any other technology.

Replace Cordova Developed App with Native Android App

I Have a query
I have an app on the Google Play store since long and it was developed using Cordova
Now I have made a separate APK using Native Android (Android Studio)
I have 1000 downloads!
I want to replace the new Native built Apk with the old Cordova
without losing any downloads or review & ratings
How can I Do that?
As long as it is the same keystore and package name, you don't have to worry.
Simply create a new Android Studio project (or in whatever IDE you use) and make sure the package name is the same as the previous one. You can change it after the project is generated, but it is harder than making sure it is right.
After you generate the project, write the code.
After you write the app finished, just upload it with a higher version code than the current one (just like normal). Make sure it is signed with the same keystore and has the same package name and you can update it running different code
AS you already have the code (or so is my understanding) make sure the package name is the same, the version is higher than the previous upload and it is signed with the same keystore. Upload and you are good to go

intel xdk app install replaces the previous apk

Hi I'm experimenting with xdk and created few apk for from different projects, but whenever I install the apk on my mobile, it will install as an update and replaces the app though the app and project is different. How do I install the apk as a new app? Thanks.
change the App ID for your projects, if your projects have same default App ID then it will replace the previous install
Click Projects -> Build Settings and change the App ID
The App ID usually has this format: com.companyName.appName
I have the same problem, changing the ID did the trick for building android apps, but did not solve the problem in App preview (second app replaces the first).
I got this answer on the HTML5 Dev forum from a Technical Consulting Engineer
Intel Corporation, HTML5 Dev Tools:
The XDK gets its information regarding the name of the app, etc. from the .xdk file inside the project directory. If you did not change that, it might be the source of the problem. There is also a unique GUID inside that file which is probably the same for both of your projects. I believe if you set that GUID to all zeroes (replace each number in it with a zero) the XDK will reassign a new one to the project.
Just guessing, not 100% clear on what happened, but give that a try.
Worst case you may have to remove both projects, delete the .xdk files from each, and "import" them into the XDK.
EkG: !! Changing the GUID in the *.xdk file does work, but not if you set them both to zero's.
You have to make them different manually.

android development - smart way to have both the current published version and the development version on my device

I guess this could be a common problem for new android developer like myself so I thought to ask it even so it is not a big deal.
I would like to have both the current published stable version of an app and the under development version on my device. Yet when I want to install both I get
Re-installation failed due to different application signatures.
You must perform a full uninstall of the application.
I understand it technically yet I was wondering how I could have an easy way around this so I can have both application on my phone. I could change the package name for the time being but I hope there is an even more straight forward way to get it done.
Thanks
UPDATE
Solution as given by "Marc Bernstein" in the following post - thx Algo for posting the link to it
How to change package name of an Android Application
There is a way to change the package name easily in Eclipse. Right click on your project, scroll down to Android Tools, and then click on Rename Application Package.
Just change package name of your published and development version Application. Changing Package name is really very simple and easy, follow that post
https://stackoverflow.com/a/9171773/185022
The "published" version should be signed using a release keystore.
The "development" version should be signed using a debug keystore.
At installation time, Android will complain that the two applications (having the same package name) have different signatures, and won't install the latest one (Re-installation failed due to different application signatures.).
To fix this (normal) behavior, change the package name of your application while developing it (ex: com.example.myapp-dev).

Categories

Resources