ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

According to some posts on Stack Exchange (this one and this one), this can happen with newer versions of Android Studio / gradle / etc.

Apparently adding

sdk.dir=/path/to/your/sdk

to a file local.properties in your project should do the trick.

According to some posts on Stack Exchange (this one and this one), this can happen with newer versions of Android Studio / gradle / etc.

Apparently adding

sdk.dir=/path/to/your/sdk

to a file local.properties in your project should do the trick.


Edit & recap:

  1. you have Android Studio in: /home/user/opt/android-studio
  2. you have set ANDROID_HOME to: /home/user/opt/android-studio/sdk
  3. you have set your path to (all on one line, I just copied your formatting):

    $PATH:
    /home/user/opt/android-studio/sdk/tools:
    /home/user/opt/android-studio/sdk/platform-tools:
    /home/user/opt/android-studio/bin
    
  4. you can run adb in a terminal, and adb devices shows you your device (after you've connected it)

  5. you have a file called local.properties in both android_core and the android_extras project directories, with the following content:

    sdk.dir = /home/user/opt/android-studio/sdk
    

Correct? If not, please update things to match.

Also, please edit PATH and ANDROID_HOME to only point to the actual location of the Android Studio (so /home/user/opt/android-studio/sdk), remove the entries that point to /opt/android-studio: you don't have it there, so no point in adding those. Also (but minor): your PATH includes paths like /home/user/home/user/opt/android-studio, remove those.

In a fresh terminal, please make sure the above is all true, remove the devel and build directories, and try catkin_make once more.

do i really have to unzip the android studio bundle in root/opt?

And no, you don't have to. I have Android Studio under $HOME/opt as well, and it works fine.

Additional question: which JDK did you install? I've been using Oracle Java 7u65 successfully.

According to some posts on Stack Exchange (this one and this one), this can happen with newer versions of Android Studio / gradle / etc.

Apparently adding

sdk.dir=/path/to/your/sdk

to a file local.properties in your project should do the trick.


Edit & recap:

  1. you have Android Studio in: /home/user/opt/android-studio
  2. you have set ANDROID_HOME to: /home/user/opt/android-studio/sdk
  3. you have set your these Studio related directories on your path, in addition to your normal path to (all on one line, I just copied your formatting):

    $PATH:
    /home/user/opt/android-studio/sdk/tools:
    /home/user/opt/android-studio/sdk/platform-tools:
    /home/user/opt/android-studio/bin
    
  4. you can run adb in a terminal, and adb devices shows you your device (after you've connected it)

  5. you have a file called local.properties in both android_core and the android_extras project directories, with the following content:

    sdk.dir = /home/user/opt/android-studio/sdk
    

Correct? If not, please update things to match.

Also, please edit PATH and ANDROID_HOME to only point to the actual location of the Android Studio (so /home/user/opt/android-studio/sdk), remove the entries that point to /opt/android-studio: you don't have it there, so no point in adding those. Also (but minor): your PATH includes paths like /home/user/home/user/opt/android-studio, remove those.

In a fresh terminal, please make sure the above is all true, remove the devel and build directories, and try catkin_make once more.

do i really have to unzip the android studio bundle in root/opt?

And no, you don't have to. I have Android Studio under $HOME/opt as well, and it works fine.

Additional question: which JDK did you install? I've been using Oracle Java 7u65 successfully.

According to some posts on Stack Exchange (this one and this one), this can happen with newer versions of Android Studio / gradle / etc.

Apparently adding

sdk.dir=/path/to/your/sdk

to a file local.properties in your project should do the trick.


Edit & recap:

  1. you have Android Studio in: /home/user/opt/android-studio
  2. you have set ANDROID_HOME to: /home/user/opt/android-studio/sdk
  3. you have these Studio related directories on your path, in addition to your normal path (all on one line, I just copied your formatting):

    /home/user/opt/android-studio/sdk/tools:
    /home/user/opt/android-studio/sdk/platform-tools:
    /home/user/opt/android-studio/bin
    
  4. you can run adb in a terminal, and adb devices shows you your device (after you've connected it)

  5. you have a file called local.properties in both android_core and the android_extras project directories, with the following content:

    sdk.dir = /home/user/opt/android-studio/sdk
    

Correct? If not, please update things to match.

Also, please edit PATH and ANDROID_HOME to only point to the actual location of the Android Studio (so /home/user/opt/android-studio/sdk), remove the entries that point to /opt/android-studio: you don't have it there, so no point in adding those. Also (but minor): your PATH includes paths like /home/user/home/user/opt/android-studio, remove those.

In a fresh terminal, please make sure the above is all true, remove the devel and build directories, and try catkin_make once more.

do i really have to unzip the android studio bundle in root/opt?

And no, you don't have to. I have Android Studio under $HOME/opt as well, and it works fine.

Additional question: which JDK did you install? I've been using Oracle Java 7u65 successfully.


Edit2:

installed android tools (adb) from ..

That should not have been necessary: adb is included in the Android Studio installation. If you've followed proper setup procedure for Android Studio, adb should already work.

I've hardcoded the variables ANDROID_HOME and PATH in .bashrc and opend an other terminal (that solved my problem)

I assumed you had your environment setup properly, but yes, you need these variables to be set in every terminal session you open.

catkin_make starts running with a lot of warnings

Those warnings are 'fine': it just tells you that some class files in jars distributed with rosjava that have been built with an older version of javac. You can ignore these for now.

and finally fails -> next error

This is a permission error. I don't quite get why it is trying to upload to the maven repo in /opt/ros/hydro/share, as I've always understood that it should do that to your devel directory in your workspace (at least, that is what it does for me). Is this the only project that does this, do the others get uploaded to your devel dir?