【发布时间】:2017-11-04 05:55:28
【问题描述】:
在我基于 LibGdx 的 android 应用程序中,我使用 build.gradle 文件和下面提到的 progaurd 文件。我在 android 项目文件夹中有 progaurd-rules.pro 文件,如下所示。
问题:
-
我已经在 Play 商店中发布了我的 apk。虽然我有 progaurd-rules.pro,但当我的应用程序崩溃时,我没有得到它有问题的文件的行号。请告诉我两件事
一个。是否需要将 progaurd-rules.pro 内容复制到 progaurd-project.txt 中?
b.我可以在 android-build.gradle 中添加 progaurd-rules.txt,如下面的代码所述吗?
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt', 'proguard-rules.pro'
2 。什么是 proguard-android.txt、proguard-project.txt 和 proguard-rules.pro。我可以加入 proguard-project.txt 和 proguard-rules.pro 吗?
android-build.gradle
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
progaurd-rules.pro
-keep class com.google.firebase.provider.FirebaseInitProvider
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
progaurd-project.txt
-verbose
-dontwarn android.support.**
-dontwarn com.badlogic.gdx.backends.android.AndroidFragmentApplication
-dontwarn com.badlogic.gdx.utils.GdxBuild
-dontwarn com.badlogic.gdx.physics.box2d.utils.Box2DBuild
-dontwarn com.badlogic.gdx.jnigen.BuildTarget*
-dontwarn com.badlogic.gdx.graphics.g2d.freetype.FreetypeBuild
-keep class com.badlogic.gdx.controllers.android.AndroidControllers
-keepclassmembers class com.badlogic.gdx.backends.android.AndroidInput* {
<init>(com.badlogic.gdx.Application, android.content.Context,
java.lang.Object,
com.badlogic.gdx.backends.android.AndroidApplicationConfiguration);
}
-keepclassmembers class com.badlogic.gdx.physics.box2d.World {
boolean contactFilter(long, long);
void beginContact(long);
void endContact(long);
void preSolve(long, long);
void postSolve(long, long);
boolean reportFixture(long);
float reportRayFixture(long, float, float, float, float, float);
}
progaurd-android.txt
com/google/firebase/provider/FirebaseInitProvider.class
【问题讨论】:
标签: android libgdx obfuscation