在Android中启用CrashLytics测试项目时,不要混淆类名和方法名。正如您在提供的规则文件中所看到的,我不使用任何规则“pro保密规则”。
我在哪里做错事?
是否有参考文件或教程来解释保护规则?
build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
// These docs use an open ended version so tha
play-services-base-16.0.1.aar ()具有以下内容的proguard.txt:
# b/35135904 Ensure that proguard will not strip the mResultGuardian.
-keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult {
com.google.android.gms.common.api.internal.BasePendingResult$ReleasableResultGuardian mR
我已经将ProGuard应用于我的安卓应用程序。
我在用
android-studio/sdk/tools/proguard/proguard-android.txt
作为配置文件,不更改任何内容。
在这个文件中,我可以看到关于Activity的唯一语句
We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.V
我为我的android应用程序启用了程序保护程序。我可以成功地构建这个项目,但是它在classNotFoundException启动时就崩溃了。它甚至找不到发射装置的活动。这是我的守护规则文件
-libraryjars libs
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keepnames class com.mypackage.** { *; } //someone suggested this but doesn'
我想在Android中生成签名的APK,它为我提供了一个运行ProGuard的选项。它要求我给出配置文件路径,但我没有配置文件。如何创建一个?我应该使用ProGuard吗?不使用ProGuard的APK文件可以很容易地解压缩吗?
编辑:谢谢你的回答,但我在任何地方都找不到proguard.cfg文件。只有项目根目录中的属性文件是local.properties文件,当我在Android中打开它时,我得到了以下内容:
# This file is automatically generated by Android Studio.
# Do not modify this file -- YOU
我正在为一个使用第三方库的应用程序配置Proguard。是否“最佳实践”(为了避免将来难以找到的bug)包括以下内容:
-keep class 3rd_party_lib_name.** {*;}
对于每一个第三方的开源库,没有来自其开发人员的特定Proguard指令?
此外,还有一个相关的问题:是否有一个一般的准则,我应该使用的情况。
-keep class
在哪种情况下我应该使用
-keep public class
非常感谢
这个问题可能与一些问题有关,因为我在这里搜索了很多,但没有任何帖子对我有帮助。我的应用程序在没有签名时运行,但当我运行签名的APK时,它会立即崩溃。我把它放在debuggable true中,并检查我找到了这个错误逻辑。
java.lang.NoSuchFieldError: No static field REPLACE of type Lcom/a/a/a$a; in class Lcom/a/a/a$a; or its superclasses (declaration of 'com.a.a.a$a' appears in /data/app/com.aami.arum