Daniel Carneiro

Sign in

Designs Made until finding the right one (Budget and workability)

A data structure used to synchronize concurrent processes running on different threads. For example, before accessing a non-threadsafe resource, a thread will lock the mutex. This is guaranteed to block the thread until no other thread holds a lock on the mutex and thus enforces exclusive access to the resource. Once the operation is complete, the thread releases the lock, allowing other threads to acquire a lock and access the resource.

So after understanding that, I have created a class that controls the Flutter secure storage.

import 'dart:async';
import 'package:flutter/widgets.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
/// A data structure used to synchronize concurrent…

Some of you built the app using an older version of flutter, the current version I have is 1.22.6 so latest from version 1 of flutter.

You might already know this but, create a new branch before doing this work :)

Upgrade your flutter version

This should upgrade your dar-sdk version as well (min version 2.12.0)

flutter upgrade
/// In case you can't run that command recheck you are using the stable version
flutter channel stable

To upgrade the packages run this:

dart pub outdated --mode=null-safety

If that does not work you can run this command to find out what packages are not null-safe…

Example of issue

The built failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try using Jetfier to solve the incompatibility.
Building plugin file_picker…
FAILURE: Build failed with an exception.What went wrong:
A problem occurred configuring root project ‘file_picker’.
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

When I was installing the flutter_file_picker and then was trying to build the app I started to get that error described above, so I will describe the process of how I fixed it.

Please note that this is a solution…

example of aapt in action showing 1st lines

What is aapt?

AAPT stands for Android Asset Packaging Tool. The Android Asset Packaging Tool (aapt) takes your application resource files, such as the AndroidManifest.xml file and the XML files for your Activities, and compiles them.This is a great tool which help you to view, create, and update your APKs (as well as zip and jar files). It can also compile resources into binary assets. It is the base builder for Android aplications. This tool is a piece of the SDK (and assemble framework) and permits you to see, make, and redesign Zip-perfect chronicles (zip, jolt, apk)

Any scenario where I might use this?

Yes! If you are releasing an…


This is a quick guide for you to set up your dev environment on Visual Studio Code so you can run more than one app at the same time.

First, you can start by selecting the 2 apps you want to have with this setup, in my example, I have app1 and app2 inside the same folder:

Daniel Carneiro

UI/UX Designer & Front End Developer @CADS Software LTD UK, https://github.com/loonix

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store