问题
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.
回答1:
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.
回答2:
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)
回答3:
If you don't care about lintOptions
you can add this code in app's build.gradle
file:
android {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
回答4:
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.
回答5:
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.
回答6:
This should also work fine
flutter build apk --profile
来源:https://stackoverflow.com/questions/62154149/generate-signed-apk-fails-with-build-app-intermediates-flutter-profile-libs-jar