Generate signed apk fails with build\app\intermediates\flutter\profile\libs.jar (The system cannot find the path specified)

北慕城南 提交于 2021-01-20 16:21:51

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!