识别 Android 应用程序的发布版本中的错误

Identifying errors in Release build of Android application

我最近开始研究 Android 应用程序和 Proguard 的构建风格。所以我现在正在做的是创建我的应用程序的发布版本。为此,以下是我在 build.gradle 文件的 buildTypes 中所做的更改。

buildTypes {
    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt')
    }
    release {
        minifyEnabled true
        zipAlignEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.chitchatReleaseConfig
    }
}

我通过参考以下在不同地方提到的 link 为发布版本创建了一个 proguard-rules.pro 文件。

https://www.guardsquare.com/en/proguard/manual/examples

但是,除了我实际应该包含在混淆器中的一般文件外,我仍然对我的项目中的哪些类型的文件感到困惑-rules.pro。因为显然由于发布版本,在我的应用程序的某些点,我不断收到 FileNotFoundException 并且我无法调试它。

那么我如何决定我的项目中的哪些文件应该包含在我的 proguard-rules.pro 中以及我如何在发布版本中调试我的应用程序中的 FileNotFoundException?

试试这个:

android {
signingConfigs {
    SignNAME {
        keyAlias 'yourKeyAliasName'
        keyPassword 'yourKeyAliasPassword'
        storeFile file('F:/ANDROID KEYSTORES/myKeystore.jks') // Give the Path of your Keystore here
        storePassword 'yourStorePassword'
    }
}
compileSdkVersion 24        // change depending upon your requirement
buildToolsVersion "24.0.3" // change depending upon your requirement
defaultConfig {
    applicationId "com.yourPackageName.yourAppName"
    minSdkVersion 18       // change depending upon your requirement
    targetSdkVersion 24    // change depending upon your requirement
    versionCode 1          // change depending upon your requirement
    versionName "1.0"      // change depending upon your requirement
    multiDexEnabled true
    signingConfig signingConfigs.SignNAME
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
}
}

之后,在左下角上方的 Android Studio 中,您会找到 Build Variants。单击它并将 Build Variantsdebug 更改为 release。等待 gradle 构建。你都设置为 Run.

Proguard 有一些问题,但它非常适合缩小 apk 的大小。我会建议,如果你在你的应用程序中使用第三方库,那么在 proguard-rules 文件中也使用他们的 proguard-rules。

要从签名的 apk 中获取错误,请使用 Fabric Crashlytic。它易于集成(最多 10 分钟),并且会在您的结构控制台上显示完整的异常堆栈跟踪。

Fabric Crashlytic 将是最好的。我正在使用它并且能够明智地跟踪发布版本中的崩溃。