2015-04-26 3 views
4

build.gradle одного из модулей в моем проекте довольно прост:Как исключить внешнюю библиотечную банку из Proguard в Android Studio?

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 8 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 8 
    } 

    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg' 
     } 
    } 
} 

dependencies { 
    compile project(':timsvc') 
    compile files('libs/jsoup-1.8.2.jar') 
} 

Однако, когда я строю, он не может найти символы во внешней библиотеке jsoup-1.8.2.jar.

С timsvc - это мой модуль, имеющий собственный build.gradle и proguard.cfg, я могу контролировать уровень его минимизации, и поэтому у меня нет никаких проблем с ним.

Но я не могу сделать то же самое для jsoup-1.8.2.jar, потому что это внешняя фляга.

Есть ли способ исключить его из Proguard в Android Studio?

Если да, то как это сделать?

+0

Вы попробовали '-keep class org.jsoup. ** {*; } 'где ** org.jsoup ** относится к имени пакета – Fer

+0

Возможный дубликат [Как заставить Proguard игнорировать внешние библиотеки?] (http://stackoverflow.com/questions/7721397/how-to-make-proguard-ignore -external-libraries) –

+0

Возможный дубликат http://stackoverflow.com/questions/6870773/android-proguard-with-external-jar/6870844#6870844 –

ответ

1

Лучше всего просмотреть документацию библиотек и страницу readme (например, Github).

, но в genneral вы можете добавить опции -keep в свой конфигурационный файл proguard для классов в этих внешних баночках. Например:

-keep class example.** { *; } 
+0

ответьте в студии android, где нужно добавить эти строки, либо в ' proguard-project.txt 'или' proguard-rules.pro '? –

+1

@ShirishHerwade, Proguard реализует конфигурации в соответствии с 'proguard-rules.pro'. –

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