我最近开始研究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
}
}
我已经通过引用各个地方提到的以下链接为发布版本创建了一个proguard-rules.pro文件。
https://www.guardsquare.com/en/proguard/manual/examples
然而,除了我应该在proguard-rules.pro中实际包含的一般文件之外,我仍然对我项目中的哪些类型的文件感到困惑。因为很明显由于发布版本,在我的应用程序的某些点上,我不断收到FileNotFoundException,我无法调试它。
那么如何确定我的项目中应包含哪些文件应该包含在proguard-rules.pro中?如何在发布版本中调试我的应用程序中的FileNotFoundException?
答案 0 :(得分:2)
Proguard带来了一些问题,但它对于缩小apk大小非常有用。我建议如果你在你的应用程序中使用第三方库,那么在proguard-rules文件中也使用他们的proguard规则。
要从已签名的apk获取错误,请使用Fabric Crashlytic。它易于集成(最多10分钟),它将在您的光纤控制台上显示完整的异常堆栈跟踪。
答案 1 :(得分:0)
试试这个:
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 Variants
从debug
更改为release
。等到gradle构建。你们都被设置为Run
。
答案 2 :(得分:0)
面料Crashlytic将是最好的。我正在使用它,能够在版本构建版本中跟踪崩溃。