Bitbucket Pipelines: No toolchains found in the NDK toolchains folder for ABI with prefix:...





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







7















I am totally new to CI with Bitbucket Pipelines and was currently setting up pipeline with the help of this article. My builds are failing due to this error




"No toolchains found in the NDK toolchains folder for ABI with prefix: aarch64-linux-android"




Can anyone help me fixing this?










share|improve this question

























  • If you are using the unmodified Uber's docker, then you have NDK r12 there. Maybe your project relies on something else.

    – Alex Cohn
    May 22 '17 at 20:08











  • try using following method stackoverflow.com/a/54019946/7831470

    – Sagar Giri
    Jan 3 at 10:09


















7















I am totally new to CI with Bitbucket Pipelines and was currently setting up pipeline with the help of this article. My builds are failing due to this error




"No toolchains found in the NDK toolchains folder for ABI with prefix: aarch64-linux-android"




Can anyone help me fixing this?










share|improve this question

























  • If you are using the unmodified Uber's docker, then you have NDK r12 there. Maybe your project relies on something else.

    – Alex Cohn
    May 22 '17 at 20:08











  • try using following method stackoverflow.com/a/54019946/7831470

    – Sagar Giri
    Jan 3 at 10:09














7












7








7


1






I am totally new to CI with Bitbucket Pipelines and was currently setting up pipeline with the help of this article. My builds are failing due to this error




"No toolchains found in the NDK toolchains folder for ABI with prefix: aarch64-linux-android"




Can anyone help me fixing this?










share|improve this question
















I am totally new to CI with Bitbucket Pipelines and was currently setting up pipeline with the help of this article. My builds are failing due to this error




"No toolchains found in the NDK toolchains folder for ABI with prefix: aarch64-linux-android"




Can anyone help me fixing this?







android docker android-ndk dockerfile bitbucket-pipelines






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jul 23 '17 at 6:27









StefMa

1,74631841




1,74631841










asked May 19 '17 at 21:55









Omkar AmberkarOmkar Amberkar

247415




247415













  • If you are using the unmodified Uber's docker, then you have NDK r12 there. Maybe your project relies on something else.

    – Alex Cohn
    May 22 '17 at 20:08











  • try using following method stackoverflow.com/a/54019946/7831470

    – Sagar Giri
    Jan 3 at 10:09



















  • If you are using the unmodified Uber's docker, then you have NDK r12 there. Maybe your project relies on something else.

    – Alex Cohn
    May 22 '17 at 20:08











  • try using following method stackoverflow.com/a/54019946/7831470

    – Sagar Giri
    Jan 3 at 10:09

















If you are using the unmodified Uber's docker, then you have NDK r12 there. Maybe your project relies on something else.

– Alex Cohn
May 22 '17 at 20:08





If you are using the unmodified Uber's docker, then you have NDK r12 there. Maybe your project relies on something else.

– Alex Cohn
May 22 '17 at 20:08













try using following method stackoverflow.com/a/54019946/7831470

– Sagar Giri
Jan 3 at 10:09





try using following method stackoverflow.com/a/54019946/7831470

– Sagar Giri
Jan 3 at 10:09












3 Answers
3






active

oldest

votes


















7














Today I run into the same issue like you. I also followed the blog post you mentioned. Whatever. I'm happy to report you: I fixed it and found a "solution"! 😄



The funny part is: The solution so dumb as simple. The only thing you have to do is to unset (or remove) the NDK environment variable (or directory).



The magic line is:



- unset ANDROID_NDK_HOME


Which means that my final bitbucket-pipelines.yml looks like:



image: uber/android-build-environment:latest

pipelines:
default:
- step:
script:
- unset ANDROID_NDK_HOME
- ./ci/accept_android_license.sh
- ./gradlew :app:testDebugUnitTest


Why does it fix the issue?



To be honest. I don't know 😅. But I found out that the ubers android-build-environment install the NDK for you.



I found some answers - like here - to install the NDK separately again. But I thought about the following: Why the hell should I install/update the NDK if my project doesn't use it? So I tried to remove the NDK folder (which according to the Dockerfile located at /usr/local/android-ndk) and everything works 🎉.



Why unsetting then?



You can't remove the android-ndk dir because you don't have permission to do it. But you can delete the content from it. That is the reason why it worked with rm -rf /usr/local/android-ndk. But then - with the setting of ANDROID_NDK_HOME but without any content in there you got the error message (while building):



./gradlew :app:testDebugUnitTest

NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /usr/local/android-ndk.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.


unset the environment variable fix that warning as well.



Important:



Obviously that is not the best solution. If your App uses the NDK this solution will not help. To remove some environment variables "from a Docker image" in a CI script is also not the best solution. Maybe the image need the variable later (don't know if that is possible in Docker... but you know what I mean 😉). But it will "temporary" fix the problem and since the android-build-environment is unmaintained (not update since a year) anyway I would not put to much effort in fixing the image...




Note: The link to the uber:android-build-environment GitHub page refers to a single (currently the last) commit. If someone read that in the future the link is still active and correct but maybe the master branch have changed.







share|improve this answer































    4














    cd .../AndroidSdk/ndk-bundle/toolchains
    ln -s aarch64-linux-android-4.9 mips64el-linux-android-4.9
    ln -s arm-linux-androideabi-4.9 mipsel-linux-android-4.9





    share|improve this answer





















    • 1





      While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, this reduces the readability of both the code and the explanations!

      – Filnor
      Mar 28 '18 at 15:36



















    0














    You need to download android ndk and install the standalone toolchain similar like this



    $NDK/build/tools/make_standalone_toolchain.py
    --arch arm --api 21 --install-dir /tmp/my-android-toolchain



    Sometimes you have to create the environmental variable for the toolchain.






    share|improve this answer
























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f44079559%2fbitbucket-pipelines-no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-wi%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      7














      Today I run into the same issue like you. I also followed the blog post you mentioned. Whatever. I'm happy to report you: I fixed it and found a "solution"! 😄



      The funny part is: The solution so dumb as simple. The only thing you have to do is to unset (or remove) the NDK environment variable (or directory).



      The magic line is:



      - unset ANDROID_NDK_HOME


      Which means that my final bitbucket-pipelines.yml looks like:



      image: uber/android-build-environment:latest

      pipelines:
      default:
      - step:
      script:
      - unset ANDROID_NDK_HOME
      - ./ci/accept_android_license.sh
      - ./gradlew :app:testDebugUnitTest


      Why does it fix the issue?



      To be honest. I don't know 😅. But I found out that the ubers android-build-environment install the NDK for you.



      I found some answers - like here - to install the NDK separately again. But I thought about the following: Why the hell should I install/update the NDK if my project doesn't use it? So I tried to remove the NDK folder (which according to the Dockerfile located at /usr/local/android-ndk) and everything works 🎉.



      Why unsetting then?



      You can't remove the android-ndk dir because you don't have permission to do it. But you can delete the content from it. That is the reason why it worked with rm -rf /usr/local/android-ndk. But then - with the setting of ANDROID_NDK_HOME but without any content in there you got the error message (while building):



      ./gradlew :app:testDebugUnitTest

      NDK is missing a "platforms" directory.
      If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /usr/local/android-ndk.
      If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.


      unset the environment variable fix that warning as well.



      Important:



      Obviously that is not the best solution. If your App uses the NDK this solution will not help. To remove some environment variables "from a Docker image" in a CI script is also not the best solution. Maybe the image need the variable later (don't know if that is possible in Docker... but you know what I mean 😉). But it will "temporary" fix the problem and since the android-build-environment is unmaintained (not update since a year) anyway I would not put to much effort in fixing the image...




      Note: The link to the uber:android-build-environment GitHub page refers to a single (currently the last) commit. If someone read that in the future the link is still active and correct but maybe the master branch have changed.







      share|improve this answer




























        7














        Today I run into the same issue like you. I also followed the blog post you mentioned. Whatever. I'm happy to report you: I fixed it and found a "solution"! 😄



        The funny part is: The solution so dumb as simple. The only thing you have to do is to unset (or remove) the NDK environment variable (or directory).



        The magic line is:



        - unset ANDROID_NDK_HOME


        Which means that my final bitbucket-pipelines.yml looks like:



        image: uber/android-build-environment:latest

        pipelines:
        default:
        - step:
        script:
        - unset ANDROID_NDK_HOME
        - ./ci/accept_android_license.sh
        - ./gradlew :app:testDebugUnitTest


        Why does it fix the issue?



        To be honest. I don't know 😅. But I found out that the ubers android-build-environment install the NDK for you.



        I found some answers - like here - to install the NDK separately again. But I thought about the following: Why the hell should I install/update the NDK if my project doesn't use it? So I tried to remove the NDK folder (which according to the Dockerfile located at /usr/local/android-ndk) and everything works 🎉.



        Why unsetting then?



        You can't remove the android-ndk dir because you don't have permission to do it. But you can delete the content from it. That is the reason why it worked with rm -rf /usr/local/android-ndk. But then - with the setting of ANDROID_NDK_HOME but without any content in there you got the error message (while building):



        ./gradlew :app:testDebugUnitTest

        NDK is missing a "platforms" directory.
        If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /usr/local/android-ndk.
        If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.


        unset the environment variable fix that warning as well.



        Important:



        Obviously that is not the best solution. If your App uses the NDK this solution will not help. To remove some environment variables "from a Docker image" in a CI script is also not the best solution. Maybe the image need the variable later (don't know if that is possible in Docker... but you know what I mean 😉). But it will "temporary" fix the problem and since the android-build-environment is unmaintained (not update since a year) anyway I would not put to much effort in fixing the image...




        Note: The link to the uber:android-build-environment GitHub page refers to a single (currently the last) commit. If someone read that in the future the link is still active and correct but maybe the master branch have changed.







        share|improve this answer


























          7












          7








          7







          Today I run into the same issue like you. I also followed the blog post you mentioned. Whatever. I'm happy to report you: I fixed it and found a "solution"! 😄



          The funny part is: The solution so dumb as simple. The only thing you have to do is to unset (or remove) the NDK environment variable (or directory).



          The magic line is:



          - unset ANDROID_NDK_HOME


          Which means that my final bitbucket-pipelines.yml looks like:



          image: uber/android-build-environment:latest

          pipelines:
          default:
          - step:
          script:
          - unset ANDROID_NDK_HOME
          - ./ci/accept_android_license.sh
          - ./gradlew :app:testDebugUnitTest


          Why does it fix the issue?



          To be honest. I don't know 😅. But I found out that the ubers android-build-environment install the NDK for you.



          I found some answers - like here - to install the NDK separately again. But I thought about the following: Why the hell should I install/update the NDK if my project doesn't use it? So I tried to remove the NDK folder (which according to the Dockerfile located at /usr/local/android-ndk) and everything works 🎉.



          Why unsetting then?



          You can't remove the android-ndk dir because you don't have permission to do it. But you can delete the content from it. That is the reason why it worked with rm -rf /usr/local/android-ndk. But then - with the setting of ANDROID_NDK_HOME but without any content in there you got the error message (while building):



          ./gradlew :app:testDebugUnitTest

          NDK is missing a "platforms" directory.
          If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /usr/local/android-ndk.
          If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.


          unset the environment variable fix that warning as well.



          Important:



          Obviously that is not the best solution. If your App uses the NDK this solution will not help. To remove some environment variables "from a Docker image" in a CI script is also not the best solution. Maybe the image need the variable later (don't know if that is possible in Docker... but you know what I mean 😉). But it will "temporary" fix the problem and since the android-build-environment is unmaintained (not update since a year) anyway I would not put to much effort in fixing the image...




          Note: The link to the uber:android-build-environment GitHub page refers to a single (currently the last) commit. If someone read that in the future the link is still active and correct but maybe the master branch have changed.







          share|improve this answer













          Today I run into the same issue like you. I also followed the blog post you mentioned. Whatever. I'm happy to report you: I fixed it and found a "solution"! 😄



          The funny part is: The solution so dumb as simple. The only thing you have to do is to unset (or remove) the NDK environment variable (or directory).



          The magic line is:



          - unset ANDROID_NDK_HOME


          Which means that my final bitbucket-pipelines.yml looks like:



          image: uber/android-build-environment:latest

          pipelines:
          default:
          - step:
          script:
          - unset ANDROID_NDK_HOME
          - ./ci/accept_android_license.sh
          - ./gradlew :app:testDebugUnitTest


          Why does it fix the issue?



          To be honest. I don't know 😅. But I found out that the ubers android-build-environment install the NDK for you.



          I found some answers - like here - to install the NDK separately again. But I thought about the following: Why the hell should I install/update the NDK if my project doesn't use it? So I tried to remove the NDK folder (which according to the Dockerfile located at /usr/local/android-ndk) and everything works 🎉.



          Why unsetting then?



          You can't remove the android-ndk dir because you don't have permission to do it. But you can delete the content from it. That is the reason why it worked with rm -rf /usr/local/android-ndk. But then - with the setting of ANDROID_NDK_HOME but without any content in there you got the error message (while building):



          ./gradlew :app:testDebugUnitTest

          NDK is missing a "platforms" directory.
          If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /usr/local/android-ndk.
          If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.


          unset the environment variable fix that warning as well.



          Important:



          Obviously that is not the best solution. If your App uses the NDK this solution will not help. To remove some environment variables "from a Docker image" in a CI script is also not the best solution. Maybe the image need the variable later (don't know if that is possible in Docker... but you know what I mean 😉). But it will "temporary" fix the problem and since the android-build-environment is unmaintained (not update since a year) anyway I would not put to much effort in fixing the image...




          Note: The link to the uber:android-build-environment GitHub page refers to a single (currently the last) commit. If someone read that in the future the link is still active and correct but maybe the master branch have changed.








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jul 22 '17 at 7:27









          StefMaStefMa

          1,74631841




          1,74631841

























              4














              cd .../AndroidSdk/ndk-bundle/toolchains
              ln -s aarch64-linux-android-4.9 mips64el-linux-android-4.9
              ln -s arm-linux-androideabi-4.9 mipsel-linux-android-4.9





              share|improve this answer





















              • 1





                While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, this reduces the readability of both the code and the explanations!

                – Filnor
                Mar 28 '18 at 15:36
















              4














              cd .../AndroidSdk/ndk-bundle/toolchains
              ln -s aarch64-linux-android-4.9 mips64el-linux-android-4.9
              ln -s arm-linux-androideabi-4.9 mipsel-linux-android-4.9





              share|improve this answer





















              • 1





                While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, this reduces the readability of both the code and the explanations!

                – Filnor
                Mar 28 '18 at 15:36














              4












              4








              4







              cd .../AndroidSdk/ndk-bundle/toolchains
              ln -s aarch64-linux-android-4.9 mips64el-linux-android-4.9
              ln -s arm-linux-androideabi-4.9 mipsel-linux-android-4.9





              share|improve this answer















              cd .../AndroidSdk/ndk-bundle/toolchains
              ln -s aarch64-linux-android-4.9 mips64el-linux-android-4.9
              ln -s arm-linux-androideabi-4.9 mipsel-linux-android-4.9






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Mar 28 '18 at 15:37









              rollstuhlfahrer

              3,26981831




              3,26981831










              answered Mar 28 '18 at 15:30









              chinachina

              411




              411








              • 1





                While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, this reduces the readability of both the code and the explanations!

                – Filnor
                Mar 28 '18 at 15:36














              • 1





                While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, this reduces the readability of both the code and the explanations!

                – Filnor
                Mar 28 '18 at 15:36








              1




              1





              While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, this reduces the readability of both the code and the explanations!

              – Filnor
              Mar 28 '18 at 15:36





              While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, this reduces the readability of both the code and the explanations!

              – Filnor
              Mar 28 '18 at 15:36











              0














              You need to download android ndk and install the standalone toolchain similar like this



              $NDK/build/tools/make_standalone_toolchain.py
              --arch arm --api 21 --install-dir /tmp/my-android-toolchain



              Sometimes you have to create the environmental variable for the toolchain.






              share|improve this answer




























                0














                You need to download android ndk and install the standalone toolchain similar like this



                $NDK/build/tools/make_standalone_toolchain.py
                --arch arm --api 21 --install-dir /tmp/my-android-toolchain



                Sometimes you have to create the environmental variable for the toolchain.






                share|improve this answer


























                  0












                  0








                  0







                  You need to download android ndk and install the standalone toolchain similar like this



                  $NDK/build/tools/make_standalone_toolchain.py
                  --arch arm --api 21 --install-dir /tmp/my-android-toolchain



                  Sometimes you have to create the environmental variable for the toolchain.






                  share|improve this answer













                  You need to download android ndk and install the standalone toolchain similar like this



                  $NDK/build/tools/make_standalone_toolchain.py
                  --arch arm --api 21 --install-dir /tmp/my-android-toolchain



                  Sometimes you have to create the environmental variable for the toolchain.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered May 22 '17 at 17:30









                  Armen AvetisyanArmen Avetisyan

                  707419




                  707419






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f44079559%2fbitbucket-pipelines-no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-wi%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      android studio warns about leanback feature tag usage required on manifest while using Unity exported app?

                      SQL update select statement

                      'app-layout' is not a known element: how to share Component with different Modules