shwenzhang / AndResGuard

proguard resource for Android by wechat team
Apache License 2.0
8.54k stars 1.54k forks source link

-signatureType同时签名v1/v2 #273

Closed yi-zhe closed 6 years ago

yi-zhe commented 6 years ago

查看代码发现, 如果提供的-signatureType的值不是v2, 则自动使用v1的签名. 并没有提供同时使用两种签名的方式. Androd Studio生成签名应用包时可以指定使用两种签名. 2018-08-11 9 53 03

simpleton commented 6 years ago

同事enable2个配置有什么好处?

yi-zhe commented 6 years ago

没有什么好处, 只是AndroidStudio提供了两种签名, 是可以分别勾选的。我担心升级的时候出问题。 比如用AndroidStudio打的包用了两种签名方式,用AndResGuard签名方式只能是二选一。

Sim Sun notifications@github.com 于2018年8月28日周二 上午6:08写道:

同事enable2个配置有什么好处?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/shwenzhang/AndResGuard/issues/273#issuecomment-416385229, or mute the thread https://github.com/notifications/unsubscribe-auth/AGwM8WGcIan6gfrPnZWA8WHoNTO8nuxFks5uVG33gaJpZM4V4_Vj .

zhaoxiuyu commented 6 years ago

@simpleton finalApkBackupPath 这个配置,生成的APK,是什么类型的?debug吗?

zjupure commented 6 years ago

只带v2签名的apk只能在Android 7.0以上的手机上安装,v2签名的安全性更高;要兼容7.0以下的设备,必须要带上v1签名。所以v1和v2签名是必须同时签的,或者只带v1签名。apksigner工具支持v1,v2双重签名,AndResGuard也应该跟apksigner保持一致,不然资源混淆之后,我们需要用apksigner再次签名才能同时启用v1和v2,保证4.0以上设备都能安装。

simpleton commented 6 years ago

@zjupure @yi-zhe 各位可以尝试下1.2.15-DEBUG2,会读取minSDK来帮助apksigner判断是否需要增加v1签名。

yi-zhe commented 5 years ago

对于AndResGuard我想提两个特性,麻烦考虑一下是否可以实现 1. 当keepRoot为false的时候,whiteList里面配置的好像就不生效了,可以在keepRoot为false的时候让whiteList继续生效吗 2. 对于一个正常的app来说,一般都会接入不少第三方的sdk,此时whiteList的维护非常麻烦,很多sdk提供者不会同时提供资源混淆需要保留的文件, 是否可以指定哪些文件需要混淆,而未指定的则不混淆,这样开发者只把自己app内的资源进行混淆,不会对第三方sdk混淆而引起崩溃。

谢谢惠阅

Sim Sun notifications@github.com 于2018年9月27日周四 上午3:42写道:

Closed #273 https://github.com/shwenzhang/AndResGuard/issues/273 via ae8719b https://github.com/shwenzhang/AndResGuard/commit/ae8719becb6a5381673b4d28874b1a6fe0b366e5 .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shwenzhang/AndResGuard/issues/273#event-1869340807, or mute the thread https://github.com/notifications/unsubscribe-auth/AGwM8d75Pqu0S3pXLymqes15bQbIZinVks5ue9iSgaJpZM4V4_Vj .

Fredlxy commented 3 years ago

只带v2签名的apk只能在Android 7.0以上的手机上安装,v2签名的安全性更高;要兼容7.0以下的设备,必须要带上v1签名。所以v1和v2签名是必须同时签的,或者只带v1签名。apksigner工具支持v1,v2双重签名,AndResGuard也应该跟apksigner保持一致,不然资源混淆之后,我们需要用apksigner再次签名才能同时启用v1和v2,保证4.0以上设备都能安装。

miniSdkVersion 7.0以下如果没有V1签名是不可以的吧,并不是Android7.0