Ionic Capacitor Android build fails

584 views Asked by At

I have a react ionic app that I am trying to convert to an Android app. I did this for IOS without any problems, but when I am trying to Run the app on Android Studio it fails with this error:

yarin@h-MacBook-Pro-sl-Yarin-2 project % npx cap run android
✔ Copying web assets from build to android/app/src/main/assets/public in 21.14ms
✔ Creating capacitor.config.json in android/app/src/main/assets in 574.33μs
[info] Inlining sourcemaps
✔ copy android in 68.90ms
✔ Updating Android plugins in 4.05ms
[info] Found 5 Capacitor plugins for android:
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
✔ update android in 32.75ms
✔ Please choose a target device: › Google sdk_gphone64_arm64 (emulator-5554)
✖ Running Gradle build - failed!
[error] 
        > Configure project :app
        WARNING:Using flatDir should be avoided because it doesn't support any meta-data formats.
        
        > Configure project :capacitor-cordova-android-plugins
        WARNING:Using flatDir should be avoided because it doesn't support any meta-data formats.
        
        > Task :app:preBuild UP-TO-DATE
        > Task :app:preDebugBuild UP-TO-DATE
        > Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
        > Task :capacitor-android:preBuild UP-TO-DATE
        > Task :capacitor-android:preDebugBuild UP-TO-DATE
        > Task :capacitor-android:compileDebugAidl NO-SOURCE
        > Task :capacitor-app:preBuild UP-TO-DATE
        > Task :capacitor-app:preDebugBuild UP-TO-DATE
        > Task :capacitor-app:compileDebugAidl NO-SOURCE
        > Task :capacitor-cordova-android-plugins:preBuild UP-TO-DATE
        > Task :capacitor-cordova-android-plugins:preDebugBuild UP-TO-DATE
        > Task :capacitor-cordova-android-plugins:compileDebugAidl NO-SOURCE
        > Task :capacitor-device:preBuild UP-TO-DATE
        > Task :capacitor-device:preDebugBuild UP-TO-DATE
        > Task :capacitor-device:compileDebugAidl NO-SOURCE
        > Task :capacitor-haptics:preBuild UP-TO-DATE
        > Task :capacitor-haptics:preDebugBuild UP-TO-DATE
        > Task :capacitor-haptics:compileDebugAidl NO-SOURCE
        > Task :capacitor-keyboard:preBuild UP-TO-DATE
        > Task :capacitor-keyboard:preDebugBuild UP-TO-DATE
        > Task :capacitor-keyboard:compileDebugAidl NO-SOURCE
        > Task :capacitor-status-bar:preBuild UP-TO-DATE
        > Task :capacitor-status-bar:preDebugBuild UP-TO-DATE
        > Task :capacitor-status-bar:compileDebugAidl NO-SOURCE
        > Task :app:compileDebugAidl NO-SOURCE
        > Task :capacitor-android:packageDebugRenderscript NO-SOURCE
        > Task :capacitor-app:packageDebugRenderscript NO-SOURCE
        > Task :capacitor-cordova-android-plugins:packageDebugRenderscript NO-SOURCE
        > Task :capacitor-device:packageDebugRenderscript NO-SOURCE
        > Task :capacitor-haptics:packageDebugRenderscript NO-SOURCE
        > Task :capacitor-keyboard:packageDebugRenderscript NO-SOURCE
        > Task :capacitor-status-bar:packageDebugRenderscript NO-SOURCE
        > Task :app:compileDebugRenderscript NO-SOURCE
        > Task :app:generateDebugBuildConfig
        > Task :app:javaPreCompileDebug
        > Task :capacitor-android:writeDebugAarMetadata FAILED
        
        FAILURE: Build failed with an exception.
        
        * What went wrong:
        Execution failed for task ':capacitor-android:writeDebugAarMetadata'.
        > Failed to create parent directory
        '/Users/yarin/Desktop/dashboard/project/node_modules/@capacitor/android/capacitor/build' when creating directory
        '/Users/yarin/Desktop/dashboard/project/node_modules/@capacitor/android/capacitor/build/intermediates/aar_metadata/debug'

I would be really happy if someone can help me solve this issue. No matter what I did it doesn't work

1

There are 1 answers

0
StackoverBlows On

Check your plugins, one of them is still using deprecated code "flatDir()". You may need to update one or many of them. You can use npm outdate and see which packages need upgrading.