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