Как повторно использовать реализованную зависимость с ее файлами aar

У меня есть проект с некоторой зависимостью на моем первом компьютере (C1), и у меня есть компьютер (C2), у которого есть некоторые проблемы с Интернетом (он изолирован). Я хочу повторно использовать мои загруженные библиотеки из моего C1 и поместить его в C2. Я не хочу использовать файл .jar. просто файлы aar.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
604
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Можно скопировать кеш Gradle

One way you could do this is to gather all of your dependencies in an archive. For example, something like this should grab everything in all configurations:

task bundleDependencies(type: Zip) {
     baseName = 'dependencies'
     configurations.each { configuration ->
         if (configuration.canBeResolved) { from configuration }
     } 
     destinationDir = file('your/Path') // set path
  }

Transfer the archive to the offline machine, extract, and use a flatDir repository (maybe conditionally if you want to use it when offline without adding it each time):

repositories {
     if (gradle.startParamter.offline) {
         flatDir { dirs 'path/to/extracted/dependencies/zip' }
     } 
}

затем запустите на C2 с параметром --offline для gradle

Вы можете использовать задачи Почтовый индекс, Деготь или Банка для экспорта зависимостей, в зависимости от ваших предпочтений. См. создание архивов

Также должно работать простое копирование каталога .gradle в то же место (из-за абсолютных путей) от C1 до C2.

где мне искать .tar файл? @leonardkraemer

l.mome 27.10.2018 11:34

вы можете установить путь с помощью destinationDir = file('your/Path')

leonardkraemer 27.10.2018 11:52

убедитесь, что вы поместили его в build.gradle вашего модуля, а не в корневой. В противном случае он не подберет конфигурации. (По крайней мере, это то, что заставило меня экспорт работать)

leonardkraemer 27.10.2018 11:56

как мне запустить скрипт в студии Android? @leonardkraemer

l.mome 27.10.2018 12:02
stackoverflow.com/questions/34535011/…
leonardkraemer 27.10.2018 12:05
Ответ принят как подходящий

спасибо всем. решение: 1. добавьте зависимость к вашему онлайн-компьютеру. (Gradle будет создавать и кешировать файл .aar в ".gradle \ caches \ modules-2 \ files-2.1 \ $ {YOUR.PACKAGE.NAME} \ $ {YOUR LIB NAME} \" $ {YOUR_LIB_VERSION} {HASH_FOLDER} \ ").

If you don’t know your package name just take a look at build.gradle(app level). In the dependency block you can find it like: Implemented ‘your.package.name:your lib name:your_lib_version’

2. скопируйте файл .aar.

3. на автономном компьютере откройте студию Android, затем в представлении проекта (верхний левый угол) измените Android на проект. затем перейдите в папку приложения, и вы увидите папку «библиотеки».

4. перетащите и опустите файл .aar в библиотеки и нажмите «ОК, я все равно хочу изменить этот файл»

5. затем перейдите в build.gradle (уровень приложения) и вставьте туда этот код:

allprojects {
  repositories {
   jcenter()
   flatDir {
    dirs 'libs'
   }
  }
}

6. поместите эту строку в блок зависимостей в build.gradle (уровень приложения)

dependencies {
 compile(name:'your lib name', ext:'aar')
}

Другие вопросы по теме