Hel*_*oCW 6 android android-studio
我已经阅读了这篇文章。作者认为每个 Android 应用都应该使用代码收缩。
我用下面的代码对代码进行了缩小和混淆,proguard-rules.pro是原始的空白的,并且proguard-android-optimize.txt是原始的。它是 Android Studio 的默认设置。
您知道某些项目在 Android Studio 中可以正常运行但发布到 Google Play 后失败,您可以查看文章。
当应用程序在 Android Studio 中运行时,我认为 ProGuard 不起作用,它不会缩小和混淆代码,因此该应用程序在 Android Studio 中运行良好。
当我生成 .aab 文件在 Android Studio 中发布时,ProGuard 会缩小和混淆代码,但可能由于错误的缩小和混淆操作导致运行时错误。
在将应用发布到 Google Play 之前,如何测试 ProGuard 是否正常工作?
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
}
}
Run Code Online (Sandbox Code Playgroud)
添加内容:
致瑞安 M:谢谢!
看来我可以通过文章测试ProGuard在Android Studio中是否正常工作。
您可以看到代码 A和图像 A。
那正确吗?
代码 A
debugMini {
initWith debug
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
matchingFallbacks = ['debug']
}
Run Code Online (Sandbox Code Playgroud)
图片A
有多种方法可以确认您的代码是否已正确最小化。一是检查youappmodule/build/outputs/mapping/release/mapping.txt文件。这将包括像这样的行
com.example.somepackage.SomeClass -> a.b.c.d:
Run Code Online (Sandbox Code Playgroud)
如果您看到这一点,您就知道哪些类被正确混淆了。您还可以通过确保该类没有此类条目来找出哪些类已被删除。
另一个好方法是在 Android Studio 中检查输出 APK。在 Android Studio 4.1 中,您可以通过转到Build > Analyze APK然后选择应该运行 Proguard 的 APK 来完成此操作。然后您可以检查该classes.dex文件并检查其内容。直接遍历文件结构就可以看到哪些类被混淆删除了。
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |