2017-01-11 4 views
1

Я устанавливаю приложение через студию, я предполагаю, что это мгновенного запуститьProguard в режиме выпуска

Я предполагаю, что мой код несокращается, так как мой APK еще 16,1 MB большой и ничего в нем, кроме Sinch библиотека ..

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

не знаю, если я должен добавить это в немедленном перспективе или нет .....

debug { 
     minifyEnabled true 
     useProguard false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 
       'proguard-rules.pro' 
} 

но при использовании отладки он показывает это:

Gradle build process failed with "Error:Execution failed for task ':app:transformClassesWithNewClassShrinkerForDebug'. > Warnings found during shrinking, please use -dontwarn or -ignorewarnings to suppress them." - Proguard #206

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

Пожалуйста, помогите!

ответ

0

Как указано в сообщении об ошибке, вы должны использовать -dontwarn в вашем proguard-rules.pro файл в модуле приложения

Пример:

-dontwarn javax.management.** 
-dontwarn java.lang.management.** 
-dontwarn org.json.JSONObject 
-dontwarn org.apache.commons.codec.binary.Base64 
-dontwarn org.apache.commons.logging.LogFactory 
-dontwarn org.apache.log4j.Logger 
-dontwarn org.apache.log4j.Level 
-dontwarn org.slf4j.LoggerFactory 
-dontwarn org.slf4j.Logger 
-dontwarn org.slf4j.impl.StaticMDCBinder 
-dontwarn org.slf4j.impl.StaticMarkerBinder 
-dontwarn org.apache.http.entity.mime.content.FileBody 
-dontwarn org.apache.http.entity.mime.MultipartEntity 
-dontwarn org.apache.http.entity.mime.FormBodyPart 
-dontwarn org.apache.http.entity.mime.MinimalField 
-dontwarn org.apache.http.entity.mime.HttpMultipart 
-dontwarn org.apache.http.entity.mime.content.AbstractContentBody 
-dontwarn org.apache.http.entity.mime.content.StringBody 
-dontwarn org.apache.http.entity.mime.content.InputStreamBody 
-dontwarn org.apache.http.entity.mime.MIME 
-dontwarn android.support.v4** 
-dontwarn com.google.** 

Google, что вы должны подавлять в библиотеках использовать в проекте,

удачи

+0

Но у меня есть jniLibs, который является довольно большим, и он имеет 4 папки armeabi-v7a, arm64-v8a, x86 и x86_64, так как я использую sinch только для приложения-приложения, я предполагаю, что он включает в себя всю функциональность для вызова приложений, обмена сообщениями и т. д., которые sinch предоставил в своем sdk, не знает, как их исключить. ... – SamH67

+0

Я нашел это в sinch proguard txt -keepclasseswithmembernames class * { родной ; } – SamH67

+0

, и вы видели, что я только в выпуске, но если я запустил это приложение из студии, установите его на своем мобильном устройстве, чтобы поделиться им с другим мобильным телефоном с помощью shareIT и посмотреть размер apk, что бы это было? это будет уменьшено или нет? Помните, что я использую shrinker и minify в выпуске – SamH67

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