2015-06-30 3 views
3

я не нашел dexguard-license.txt файл в dexguard.please помочь мне в Gradle установки в Android Studio вот мой Gradle вывод консолиНастройка dexguard файл лицензии в андроиде студии

Executing tasks: [:app:assembleDebug] 
..... 
Can't find a DexGuard license file. 
You should place your license file dexguard-license.txt 
1) in a location defined by the Java system property 'dexguard.license', 
2) in a location defined by the OS environment variable 'DEXGUARD_LICENSE', 
3) in your home directory, 
4) in the class path, or 
5) in the same directory as the DexGuard jar. 

ответ

1

Лицензия файл доступен для загрузки, как только вы вошли в систему на странице учетной записи> файлы на https://www.guardsquare.com

Смотреть это screen shot

+0

Спасибо за информацию, вы можете рассказать мне информацию о точке (1) ... местоположении, определяемом системным свойством Java – San

+0

Так что системное свойство JVM можно установить в командной строке, хотя для Android, скорее всего, вы захотите для установки в gradle следующим образом: 'systemProperties ['dexguard.license'] = './location/of/my/dexguard-license.txt'' – scottyab

+0

, где я добавляю эту строку в файл градимента – San

0

вы должны скопировать dexguard-license.txt файл и dexguard.jar файл к вашему хо me directory (:/user/ironman).

10

Прошло некоторое время с тех пор, как появился обновленный ответ, поэтому я решил обновить его, так как произошла смена настроек файла лицензии DexGuard.

Я только что обновил версию Android Studio с 2.2.3 до 2.3, а также обновил версию Gradle с 2.14.1 до 3.3. При обновлении до Gradle версии 3.3, я получил ту же ошибку, что был задокументирован OP:

Can't find a DexGuard license file. 
You should place your license file dexguard-license.txt 
1) in a location defined by the Java system property 'dexguard.license', 
2) in a location defined by the OS environment variable 'DEXGUARD_LICENSE', 
3) in your home directory, 
4) in the class path, or 
5) in the same directory as the DexGuard jar. 

Моя конфигурация DexGuard работает нормально, используя Gradle версию 2.14.1 с моим dexguard-license.txt файл в том же как банку DexGuard (предложение № 5).

Оказывается, что документация для DexGuard гласит следующее:

Note: when using Gradle 3.1+, the license file will not be found anymore when placed in the same directory as the DexGuard plugin jar.

(Источник: DexGuard 7.3.10 документация -> Quick Start -> Настройка файл лицензии)

Я хотел сохраните файл лицензии в том же каталоге, что и банкомат DexGuard, поэтому я внедрил предложение №1. Я сделал это, добавив следующую строку в файл gradle.properties моего проекта:

systemProp.dexguard.license=./app/libs/Dexguard_7_3_10 

Заметим, что мой DexGaurd банку и мои dexguard-license.txt файлы находятся в следующем каталоге: {папке проекта}/приложение/libs/DexGuard_7_3_10/

Я пошел с этим решением, поскольку я не только строил локально, но и на Jenkins CI. Это решение не позволяет мне выполнять какие-либо изменения на самом сервере сборки (т. Е. Локальная переменная среды, копирование файлов на домашний каталог сервера или параметры пути класса). Я надеюсь, что это поможет кому-то другому, который наткнулся на эту проблему и находит сообщение об ошибке запутанным.

+0

Трэвис помог бы мне понять, что я делаю неправильно? 'Android Strudio 2.3.3',' gradle 3.3', мой путь DexGuard: '(имя проекта) \ app \ libs \ DexGuard-8.0.14', путь dexguard-license.txt:' (название проекта) \ app \ libs \ DexGuard-8.0.14 \ lib \ dexguard-license.txt'. Также я установил 'systemProp.dexguard.license =./App/libs/DexGuard-8.0.14/lib/dexguard-license.txt' в свой файл' gradle.properties', но каким-либо образом, если я пытаюсь создать выпуск проекта mode, я получаю ошибку 'Error: Execution failed for task ': app: dexguardRelease'. > IOException: Пожалуйста, проверьте лицензию DexGuard (подробности см. В журнале сборки).' –

+0

@AlekseyTimoshchenko: Прошло некоторое время с тех пор, как я в последний раз модифицировал это, но похоже, что ваш systemProp.dexguard.license неверен. Вместо: systemProp.dexguard.license =./App/libs/DexGuard-8.0.14/lib/d exguard-license.txt, попробуйте следующее: systemProp.dexguard.license =./App/libs/DexGuard- 8.0.14/Библиотека –