2015-01-21 3 views
3

Мне нужно создать приложение для Android на ПК без сетевого подключения (или только с локальной сетью без внешнего доступа).Локальное зеркало хранилища рельефа

Как создать зеркало локального хранилища для бинарников и зависимостей приложения gradle? Скорее используйте локальный каталог, но если это невозможно, возможно, я могу использовать некоторую искусственную службу, запущенную на локальной машине?

ответ

2

Необходимо решить две проблемы:

  1. Загрузка двоичный Gradle

  2. Загрузка артефактов из удаленных хранилищ.

Первая проблема решается с изменяющейся Gradle/обертка/gradle-wrapper.properties файла:

distributionUrl=../../cache/gradle-2.2.1-all.zip 

где значение путь к локальной копии Gradle двоичного файла.

Вторая проблема решена с помощью Sonatype Nexus сервера. Запустите его и войдите в систему с учетной записью по умолчанию: admin/admin123

В настройках параметра изменения прокси-сервера центрального сервера maven Override Local Storage Location на пути к папке с кешем.

В проекте заменить mavenCentral() на следующий:

repositories { 
    maven { url "http://localhost:8081/nexus/content/repositories/central/" } 
} 

Сложение проецировании. Теперь все папки проекта находятся в папке с кешем.

Затем вы можете заменить Maven URL на пути к вам папку кэша:

repositories { 
    maven { url "file://" + project.getRootDir().absolutePath + "/cache" } 
} 

Теперь вы можете скопировать папку кэша на компьютере без подключения к сети и создать проект Absolutly форума

4

Если вы можете построить его один раз с подключением, то Gradle загрузит зависимости в свой собственный кеш (в домашнем каталоге пользователя Gradle). Затем запустите его как ./gradlew --offline и он не получит доступ к сети.

Запуск локальной установки репозитория Nexus или Artifcatory - еще один вариант. Вы можете настроить репозиторий прокси-сервера, который снова будет служить вам кешированными артефактами, даже если у вас нет сетевого подключения.

Смежные вопросы