1

Clicks не работает в релиз APK после progaurdClicks не работает в релиз APK после progaurd

Я могу развернуть приложение на эмулятор или даже реальный андроид смартфон и все работает нормально, но когда я создаю релиз APK, перенести его на телефон , Я не могу играть, потому что клики не работают. На самом деле, я могу нажать на кнопки, но они не проходят. Как кнопка «Играть», когда я нажимаю, она показывает, что я нажимаю на нее, но она не запускает игру. Я много играл с progaurd и даже пытался изменить на minifyEnabled на false и shrinkResource на false, но теперь он дает ошибку об ошибке блокировки PID. Пробовал все, что знал до сих пор. Я знаю, что я не должен включать что-то в файл progaurd, я просто не могу понять, что это такое. Я немного новичок, так что помогите мне.

мой файл progaurd:

-dontusemixedcaseclassnames

-dontskipnonpubliclibraryclasses

-verbose

Оптимизация отключена по умолчанию. Dex не нравится, как код запускается через ProGuard для оптимизации и предварительного тестирования шагов (и выполняет некоторые из этих оптимизаций самостоятельно).

-dontoptimize

-dontpreverify

Обратите внимание, что если вы хотите, чтобы включить оптимизацию, вы не можете просто включить оптимизации флаги в вашем собственном файле конфигурации проекта; вместо этого вам нужно будет указать файл "proguard-android-optimize.txt" вместо этого из вашего файла project.properties.

-keepattributes *Annotation* 

-keep public class com.google.vending.licensing.ILicensingService 

-keep public class com.android.vending.licensing.ILicensingService 

-keepclasseswithmembernames class * { 
    native <methods>;` 
} 


-keepclassmembers public class * extends android.view.View { 
    void set*(***); 
    *** get*(); 
} 

Мы хотим, чтобы методы деятельности, которые могут быть использованы в XML атрибут onClick

-keepclassmembers class * extends android.app.Activity { 
    public void *(android.view.View); 
} 

перечислений
-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 


-keepclassmembers class * implements android.os.Parcelable { 
    public static final android.os.Parcelable$Creator CREATOR; 
} 

-keepclassmembers class **.R$* { 
    public static <fields>; 
} 

Библиотека поддержки содержит ссылки на новые версии платформы. Не предупреждайте об этом, если это приложение связано с более старой версией платформы. Мы знаем о них, и они в безопасности.

-dontwarn android.support.** 

Познакомьтесь с аннотацией поддержки @Keep.

-keep class android.support.annotation.Keep 


-keep @android.support.annotation.Keep class * {*;} 


-keepclasseswithmembers class * { 
    @android.support.annotation.Keep <methods>; 
} 


-keepclasseswithmembers class * { 
    @android.support.annotation.Keep <fields>; 
} 


-keepclasseswithmembers class * { 
    @android.support.annotation.Keep <init>(...); 
} 

END

Мой файл build.gradle имеет progaurd так:

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

Я не использую любой пользовательский файл. Я сделал это раньше, но просто удалил, и теперь я занимаюсь этим txt-файлом.

Я использую размер файла причины multiDex, который слишком большой. Я использую внешнюю библиотеку ядра firebase.Вот библиотеки:

dependencies { 
    compile 'com.google.android.gms:play-services- appindexing:9.0.2' 
    compile 'com.google.android.gms:play-services-analytics:9.0.2' 
    compile 'com.google.android.gms:play-services-location:9.0.2' 
    compile 'com.google.android.gms:play-services:9.0.2' 
    compile 'com.google.android.gms:play-services-ads:9.0.2' 
    compile 'com.google.android.gms:play-services-auth:9.0.2' 
    compile 'com.google.android.gms:play-services-gcm:9.0.2' 
    compile 'com.google.firebase:firebase-core:9.0.2' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.android.support:support-v4:24.0.0 
} 

Если вам нужно что-то еще, чтобы помочь мне, просто дайте мне знать. Из-за этой проблемы я не могу опубликовать свое первое приложение. Любая помощь приветствуется. Благодарю.

ответ

0

Хорошо, что это работает, отключив функцию proguard, хотя я бы тоже хотел знать, как использовать proguard. Прямо сейчас приложение составляет 17mb, но, может быть, оно может быть меньше с proguard?

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