Есть возможность добавить зависимость или библиотеку в структуру проекта указавши к ней путь или добавить как модуль.
Но, что если я хочу просто указать путь к библиотеке которую я хочу использовать как путь... Так же как указан путь к ndk
или sdk
ведь эти папки не лежат в самом проекте, но мы их используем.
Таким образом я могу сослаться из нескольких проектов на одину и туже папку...
Я не хочу копировать файлы к себе в проект я хочу только ссылаться на какое то место на PC. Чтоб скажем если кто то редактирует какие то файлы то мне не нужно было делать пулл и все такое. У меня просто есть ссылка и то что сейчас там находиться то я и использую
Надеюсь у меня получилось обьяснить, что я хочу))
EDIT
Я имею ввиду такую возможность, есть скажем папка где то на PC в которой лежит 2 джава класса А и В . Добавляю (как то) путь в проект (как бы говорю вот там есть папка) и могу использовать эти файлы у себя в проекте. Вот такая идея...
Как сказал @woesss , что раньше в эклипсе была возможность добавлять линк на файл, это то что я ищу.
EDIT
Хочу попробовать способ описанный @woesss для теста я скачал как zip
вот эту либу (так как нужен нормальный gradle-проект)
https://github.com/lopspower/CircularImageView
распаковал ее и указал к ней путь в settings.gradle
include ':app', ':library'
project(':library').projectDir = new File('C:/Users/tetavi/Downloads/Buffer/Lib_DELETE/CircularImageView-master/CircularImageView-master')
И так же указал в gradle(module)
...
dependencies {
...
implementation project(':library')
...
}
Получаю вот такую ошибку
Unable to find a matching configuration of project :library: None of the consumable configurations have attributes.
EDIT
Вот градл файл из либы которую я пробую добавить
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: 'dependencies.gradle'
buildscript {
ext.kotlin_version = '1.3.40'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.1'
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Можно подключить модуль из другого проекта таким способом:
settings.gradle:
include ':app', ':library'
project(':library').projectDir = new File('path/to/library/project/libmodule')
build.gradle(module):
...
dependencies {
...
implementation project(':library')
...
}
Это проверенно работает, если библиотека - нормальный gradle-проект.
Но удобства в этом меньше, чем неприятных неожиданностей.
Библиотека правиться и пересобирается из любого проекта - кто-то что-то изменил и у всех посыпалось.
P.S. Хорошо, покажу на примере указанной либы с гитхаба:
Допустим я скачал её в зипе и распаковал в C:\Users\woesss\dowloads\CircularImageView-master\
settings.gradle::
include ':app', ':library' // добавляем модуль ':library'
// указываем ему путь к папке нужного нам МОДУЛЯ в другом проекте
project(':library').projectDir = new File('C:\\Users\\woesss\\dowloads\\CircularImageView-master\\circularimageview')
build.gradle(module):
...
dependencies {
...
// добавляем только что подключенный модуль в зависимость
implementation project(':library')
...
}
Это можно сделать и через меню, но только после удачной синхронизации.
Теперь модуль как бы в нашем проекте и требует от нас свои зависимости - смотрим конфиг её проекта и добавляем нужное в конфиг своего:
build.gradle(project):
// здесь импортируются константы из файла 'dependencies.gradle'
// значит его тоже нужно скопировать в свой проект
// или добавить содержимое, если он уже есть.
// Вот тут начинаются грабли, за которыми придётся следить
// - потому что там хранятся версии зависимостей
// и они не будут синхронизироваться без вашего участия)
apply from: 'dependencies.gradle'
// дальше добавляем то, чего ещё нет в нашем проекте
buildscript {
ext.kotlin_version = '1.3.40'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.1'
}
}
Всё - синхронизируемся, ребилдимся, работаем.
Можно например так сделать:
File > Project Structure > Dependencies Tab > Add module dependency
вот доки по этой теме. Я такое делал давненько, но у меня получилось, надеюсь и у вас все получится :)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как работает сокет в java, как он подключает между собой клиент и сервер и позволяет им обмениваться данными?
Задача: Сделать карусель фотографий, где последний элемент будет добавлять в карусель новые фотографии
В моем приложении есть тестВ каждом из вопросов можно выбрать один из 5 вариантов ответа
у меня имеется база данных SQLite в которую я добавляю и удаляю данные по принципу описанному ниже