Test app with Android Dynamic Features on a remote device - android

I have an Android app under development which uses Dynamic Features. I know that apps with Dyn. Features should be build as a BUNDLE, but the probleme is that I need to deploy the app and all its features to a test device that is located in a remote office and that has a separate network (not bind-able to my Android Studio) in order to start testing and showing the app to the final customers before the final release. I have tried to build an APK, but the app crashes because it doesn't find the classes defined inside the Dynamic Features. It there a way to build an APK that contains all the feature and that can be installed on a clean device which is not bound to an Android Studio ?

If the app is already in the Play Store, you could use internal app sharing? Then you would just share a link to your clients and they'd be able to download the app from Play.
If you really need to share an APK, you can use bundletool to build a "universal APK" (see flag --mode=universal). You'll have a single APK that you can then share to your clients. Note that you will to ensure that the dynamic features are configured with "fusing=true" so that they're compiled in the universal APK. Note that this means that these modules will not be downloaded since they're already in the APK.
If you care about your clients seeing and testing the download flow, you'll need to use the internal app sharing feature, or an internal test track.

Related

How to resign/ change bundle id for an already built APK in an Azure Devops release pipeline

I'm working with a client who wants to deploy multiple versions of their android application (representing DEV, TEST, UAT, PROD, etc) to the same device.
Normally, with any application, I'd prefer to promote the same compiled binary code from one environment to the next. For example, if a build passed testing in TEST, I'd like to promote that exact build (perhaps with different configs) to UAT. This would be possible if the clients test environments were different devices, but given they have the same android device running multiple versions of the app, I'm wondering if there's any kind of best practice here.
The client is using Azure DevOps. Is there an easy way to build the APK as part of an Azure build pipeline, and then change its Bundle Id, or google-services.json in a release pipeline to indicate that it's a "Dev" or "QA" version of the app?
You may try to use extension 'Mobile App Tasks for iOS and Android', this extension includes tasks to change app's version name and code or app's package name at build/release time. If the extension can not satisfy your requirement, you can refer the source code, modify it and create a custom extension. Please see how to create a custom pipleline task.

Your Instant App APKs do not declare a valid

Am having a bad time with android in order to create new release
i have created a Signed APK with two option
then i zipped the .apk file,after trying to upload it to google console am getting the below error
Your Instant App APKs do not declare a valid 'android:targetSandboxVersion' attribute in their AndroidManifest. Using the 'com.android.feature' Gradle plugin to build your Instant App would add this attribute automatically.
Note : the file zipped and all the solutions asking to zip the file, no luck :(
You need to be clear if you are producing an Instant App or a normal Android app. I think this is what is confusing you, or maybe you just aren't being clear in the question.
Android Instant Apps are special Android apps that launch from a web page, and don't need a user to install them. To build them you need the Instant Apps SDK, and to follow the development instructions here. Android Studio will produce a zip for you, you don't need to do it manually
For normal Android apps, you don't need to zip your APKs. Just upload the APK itself to the Play Console.
I think you are probably making a normal Android app, but because you are zipping it, the Play console thinks you are uploading an instant app. So stopping Zipping your APK, and just upload it to the Play Console as a ".apk" file.
While you are at it, I'd recommend using APK V2 signing - it gives much faster installation on modern devices.

How to build a react-native app for sharing for test without having local dependency

I am new to react-native app development. I wanted to know how can a developed app be shared between other developers without having a local dependency. Is an apple developer account needed for a test build to be shared in ios as well? How can the test build be created?. I wanted the build to be created and downloaded on any ios device or android for testing purpose and without having depending any of the local code changes.So the build downloaded should not get updated after any code change done after that.
Is there an easy way to do it?
To share a release build for Android please follow this guide Generating Signed APK.
But for iOS you gonna need a Apple Developer account, I don't know the whole process exactly.

Do we need to upload different APK on play store for instant and installed app

Hi I see that Android Studio allows to build different APK for instant and installed app.
Does Google Play Developer console allows to upload different APK for instant and installed app there ? How does it manage ?
Does Google Play Developer console allows to upload different APK for instant and installed app there ? How does it manage ?
Yep. You need to upload different APK for instant and installed application. Google Play Developer Console has new menu Release management > Android Instant Apps to release instant app in addition to installed app.
You should go through this link to understand more Distribute your instant app
Yes, Play console allows you to add two different APK for the installable and instant app.
a picture is worth a thousand words
The developer console now separates your uploads by 'App Releases' vs 'Android Instant Apps', as illustrated by Pinkesh's answer. Better labeling would have been 'Installable Apps' instead of 'App Releases' in my opinion, as the later implies all versions. You are forced to use a different versionCode numbers for each type, even for otherwise identical APKs. The installable versionCode must be higher so the installable version will be an 'upgrade' from the instant version.
As to whether you would want to use the same codebase for both APKs ('bundles' now), like I do for my game app, the process has gotten better for arguing to do so. You used to have to do a 20+ step very code invasive process to break your app into three parts, installed, instant, and base modules here https://codelabs.developers.google.com/codelabs/android-multi-feature-instant-app/#0. For me, separate codebases would have been easier and less risky than this, but I still wasted a lot of time practicing with Google Codelab's example Topeka app before finding out it's all been depreciated. Now you can just add a separate module to store large resources and assets, flaging the module for just 'install-time' delivery, keeping the rest of your app under the 10G instant limit. You can include an 'isInstantapp' flag in your code to branch between instant and installable implementations.

How can my friends test my Android application?

I am developing an Android application and it is not finished. I would like to test it on multiple devices, locations with various users that are not near me. How can I achieve this? Is there an APK I can send them? Is there a way that is as simple as plugging my phone in and then running the application from Eclipse? Or would I have to make an installer of some sort (I don't know)?
Obviously you can plug your phone(s) into the machine you are developing on and run it from eclipse. This will allow you to test and debug on the devices you have access to.
You can also export an apk from eclipse (see the android pages for instructions). You could put this up on a file sharing site and make it available to your friends. They could then install it, as long as they have authorised "unsigned" apks to be installed in their phone settings.
Assuming you have deployed the app at least once from within Eclipse to debug and test yourself, you will most likely have an APK under the bin directory in your Eclipse project. The file should be .apk. This APK will have been signed automatically by Eclipse with your debug key. This is obviously not the key you use for publishing but for testing among friends I think it's fine.
What I often do is just e-mail that APK file as an attachment to my friends to an e-mail account they have setup on their phone. Then all they need to do on their phone is make sure they have the system setting to allow installation of non-market apps (i.e. not from Google Play), which maybe named something slightly different like "allow 3rd party apps". Then they can simply click on the app attachment in their e-mail, download it and run it and they should automatically be prompted with instructions to install it.
I just used MyAppSharer. (I believe there are other similar apps out there - this is just the one I've used and is very simple/easy:
...you can share by market link or directly share APK (App's full
package)
I just used that, and sent my app via apk file to my coworkers. Can't get much simpler.
Just install the app on your phone via Eclipse, then run this AppSharer, and voila - share it w/ anyone!
You can can easily export your project as an APK in eclipse
File -> Export -> Export Android Project

Categories

Resources