How to add org.apache.commons.lang3 to AndroidStudio with gradle

AndroidApacheGradleStringescapeutils

Android Problem Overview


Due to this question I want to use class StringEscapeUntils in package org.apache.commons.lang3.

But when I try to import Apache lib by add line compile 'org.apache.commons:commons-collections4:4.0' to build.grade file then can not import the class above.

Is there any one can help me how to import above one to my project via gradle (not by download .jar and put them into project folder).

Android Solutions


Solution 1 - Android

Edited 07.12.2018:

I think dependency for StringUtils you are using is not proper.

Please add below dependency to gradle and Sync project and import your class.

implementation 'org.apache.commons:commons-lang3:3.6'

This on is using deprecated task (but should still works):

compile 'org.apache.commons:commons-lang3:3.5'

Edit:

As OoDeLally mentioned in a comment,

Above mentioned version is deprecated, Please use below dependency:

implementation 'org.apache.commons:commons-text:1.6'

Edit 2:

deprecated as for July 2019. Use stackoverflow.com/a/55567755/1541141 instead

Thanks @OoDeLally!

Solution 2 - Android

for StringUtils you need to add in app.gradle

implementation 'org.apache.commons:commons-text:1.7'

Solution 3 - Android

StringEscapeUtils class moves to org.apache.commons:commons-text. pakage.

For StringEscapeUtils you needs to add 'org.apache.commons:commons-text:1.6' dependencie.

Solution 4 - Android

After adding

implementation 'org.apache.commons:commons-text:1.7'

in build.gradle as mentioned above, some of you might be facing the following exception on rebuild:

Invoke-customs are only supported starting with android 0 --min-api 26

In this case, just add the follwing in your build.gradle as well:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

NOTE:

The example above is for Java 8. For those who are on Java 7, simply replace 1_8 by 1_7.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionThaiPDView Question on Stackoverflow
Solution 1 - AndroidAndiGeekyView Answer on Stackoverflow
Solution 2 - Androidf.asumaView Answer on Stackoverflow
Solution 3 - AndroidSmarpitView Answer on Stackoverflow
Solution 4 - Androidmang4521View Answer on Stackoverflow