When I run a configuration, I can the gradle commands android studio is running to build the apk in the build tab (assembleDebug). But it is not showing me what command is run after that to actually install the apk on a device. Is there a way I can see this?
I'm tring to build my flutter app on android in CMD and got message (in the subject) but app works properly.
The build proccess was OK and the problem started afer I changed one of the dependencies.
I have 2 flavors.
The android studio build create app without errors.
Any idea?
It's possible that the command is unable to find the build path to generate the APK. You can run these commands in the Terminal built into Android Studio.
For building APK for prod
flutter build apk --flavor prod -t lib/main_prod.dart
For building APK for dev
flutter build apk --flavor dev -t lib/main_dev.dart
Version details:
ionic version - “6.10.1”,
ionic-angular: “3.9.9”
Issue description:
Whenever run ionic cordova run android command on the project and it complete all the process and will show a build successful and generate an apk file on a respected path but after that getting error for installing on the device.
Have you tried going to Build -> Rebuild Project first? It helped me with many issues.
Also try first File -> Invalidate Caches and then Rebuild.
I am on android studio 4. Gradle is 6.1.1. And I created a new flutter project from android studio. Then I opened the project as an android project. There is such an option in Tools->Flutter. Which resulted in gradle sync. That was successful. But when I try to generate signed apk with my keys. I get this. error
\path\to\my\project\build\app\intermediates\flutter\profile\libs.jar (The system cannot find the path specified)
There is no profile directory at the given location. But there are Debug and Release directories both of which contains libs.jar. I searched all other the net for this issue. Found Nothing.
Additional: I can build debug apk with no issues.
I found a fix for this issue as I was searching through various issues people had reported on github regarding this.
This is just a workaround.
You can get two kinds of error. For me the system could not find profile/libs.jar, for some people the error was for debug/libs.jar. If the issue is profile, you should first run your app in profile mode and then Generate signed apk (or build and run in release mode). To run in profile mode use flutter run --profile. There is also a profile option under Run menu in Android Studio.
If the error is about debug/libs.jar, first build the debug version (and also the profile mode) and then try to Generate signed apk. By default, flutter run compiles to debug mode.
This issue evidently arises from the updated Gradle and android studio gradle plugin.
Here is the workaround by Jwiggiff on the github page.
This problem is with latest gradle 4.0.0
Switch from classpath 'com.android.tools.build:gradle:4.0.0'
to classpath 'com.android.tools.build:gradle:3.6.3'
or classpath 'com.android.tools.build:gradle:3.5.0' (Worked for me)
If you don't care about lintOptions you can add this code in app's build.gradle file:
android {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
This should also work fine
flutter build apk --profile
this will work.
flutter build apk --debug &&
flutter build apk --profile &&
flutter build apk --release
but test the apk before sharing it.
even it doesn't work the change the gradle from 4.x to 3.6.x this will work.
This is a trick
Run terminal for current flutter project, then type
flutter run
to get this success result :
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 22.7s
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
then, type
flutter build apk
to get
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 41.8s
✓ Built build/app/outputs/flutter-apk/app-release.apk (23.6MB).
then, install this Release APK to device.
flutter install build/app/outputs/flutter-apk/app-release.apk
Now, you got Release App on your device.
p/s : This case skip error
Execution failed for task ':app:lintVitalRelease'.
Failed to transform libs.jar to match attributes
Execution failed for JetifyTransform
Transform's input file does not exist
you already got.
In my case, I forgot that I'm using flavors. Maybe this caused the issue.
Now I let flutter build the app with the following command:
flutter build apk --flavor <flavorname> -t <path/to/main.dart>
Permanent fix
To fix this issue permanently, type in terminal
flutter doctor
This will give you summary like this
You need to fix all those red marks!!
Fixing android licenses
type flutter doctor --android-licenses
if you encounter this error
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
Try to install Android SDK command-line tools from Android Studio (Tools > SDK Manager)
Unfold Appearance & Behavior
Unfold System Settings
Click Android SDK
Click tab of SDK Tools
Check Android SDK Command-line Tools (latest)
Click Apply button
Then run once again
flutter doctor --android-licenses
Fixing Flutter plugin not installed
Check your Android Studio Version (For Mac go to ~/Library/Application Support/Google/AndroidStudio{Version}. In my case, the {Version} is 2020.3)
Then type
ln -s ~/Library/Application\ Support/Google/AndroidStudio2020.3/plugins ~/Library/Application\ Support/AndroidStudio2020.3
This command just redirects flutter doctor to the different folder to find plugins (where they are now). This is called symbolic link
Fixing unable to find bundled Java version
This solution is for Mac User
Find your local Java version by typing /usr/libexec/java_home -V
Set Java_Home path by typing /usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
Type all of these in terminal
cd /Applications/Android\ Studio.app/Contents/jre
ln -s ../jre jdk
ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
Finally run flutter doctor -v to see all the details changes
Happy Ending
After fixing all those issues, run
flutter clean
flutter run
to build release apk
flutter build apk --split-per-abi
In Android Studio 2.2.3, the output of Gradle console is always empty no matter what task I triggered. Is it deprecated?
Build Your App from the Command Line In this document About build
types Build a debug APK Build a release APK Run your app on the
emulator Run your app on a device You can execute all the build tasks
available to your Android project using the Gradle wrapper command
line tool. It's available as a batch file for Windows (gradlew.bat)
and a shell script for Linux and Mac (gradlew.sh), and it's accessible
from the root of each project you create with Android Studio.
To run a task with the wrapper, use one of the following commands:
On Windows: gradlew task-name
On Mac or Linux: ./gradlew task-name To
see a list of all available build tasks for your project, execute
tasks:
gradlew tasks
Read More at https://developer.android.com/studio/build/building-cmdline.html
And
https://developer.android.com/studio/run/index.html
I found out that Gradle console is used for build action like "Make Project" in menu bar:
If you run the task from Gradle panel, the output will not be shown on Gradle console.