Micah Simmons Micah Simmons - 1 year ago 133
Java Question

How do you edit a dependency/external library in android studio?

There is a lot of information about adding libraries and dependencies, but I haven't been able to find any useful information on being able to actually edit a library.

I have added https://github.com/jdamcd/android-crop as a dependency in my project, but I would like to edit some of its features, mostly layout related stuff. However, when I go into browse the files Android Studio says
"files under the build folder are generated and should not be edited" and when I edit them they are returned back to their pre-edited state once the system builds.

I also tried editing the files in notepad++ and the same problem occurs (they are returned to their pre-edited state on build).

Can someone tell me either how to edit the library or a workaround whereby I can change the layouts/some java without having to copy and paste the entire library into my project to make it editable?

Thanks in advance,

God speed.

Edit: The answer is instead of simply adding the library as a dependency in the build.gradle file using this code: compile 'com.soundcloud.android:android-crop:0.9.10@aar'

You have to add it as a module instead of just an external dependency, then you can edit the files.

If anyone is wondering how follows these steps:

  1. Create library folder (call it whatever you want) in the root directory, i.e. the first folder you go into to get to the app and its contents.

  2. Download the library, unzip it.

  3. Put the folder from step 2 in the folder you created in step 1.

  4. Add the module to the
    like so:
    include ':LibraryContainingFolder:ActualLibFolder'

  5. Sync and clean

  6. Go to project structure in Android Studio, click on the main module, normally called app, click on dependencies tab, then click the green plus, then click "Module dependency".
    The module should appear written as the containing folder and the library folder in it separated by colons 'something:somethingElse'. Add the module.

  7. Sync, clean, buid etc.

Answer Source

You should add the library as a module in Android Studio, by downloading the code from the Github repository you're interested in (and removing the line under dependencies that you added to build.gradle)

Then follow the steps in this answer: http://stackoverflow.com/a/16639227/1065810

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download