Android 签名APK中的空响应-调试APK中的正确响应
我正在对网络电话进行改装 我面临着签了APK的奇怪问题 改装请求Android 签名APK中的空响应-调试APK中的正确响应,android,json,debugging,apk,retrofit2,Android,Json,Debugging,Apk,Retrofit2,我正在对网络电话进行改装 我面临着签了APK的奇怪问题 改装请求 @FormUrlEncoded @Headers("Accept: application/json") @POST("******") Call<UserInfoResponse> authenticateUser(@Field("umMobileNumber") String websiteId, @Field("spPassword") St
@FormUrlEncoded
@Headers("Accept: application/json")
@POST("******")
Call<UserInfoResponse> authenticateUser(@Field("umMobileNumber") String websiteId,
@Field("spPassword") String loginSource);
在Singed Apk中,我将serviceBean设置为null
在谷歌上找不到任何解决方案
有人能帮我解决这个问题吗?如果您正在构建版本apk,那么将应用proguard规则。Proguard将混淆类文件 在你的build.gradle(应用程序)中 尝试删除此规则
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
并重新构建发布apk。如果它正常工作,则与proguard规则有关。如果您正在构建发布apk,则将应用proguard规则。Proguard将混淆类文件 在你的build.gradle(应用程序)中 尝试删除此规则
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
重新构建发布apk。如果它正常工作,则是proguard规则的问题。问题是反序列化 我按照这个解决了
问题在于反序列化 我按照这个解决了
在我的例子中,我删除了AndroidManifest.xml中的
工具:ignore=“HardcodedDebugMode”
,这是我为调试而添加的
在进行上述更改后,收到了已签名APK中改装请求的正确响应
注意:我知道这是一个迟到的回复,我将为将来面临类似问题的人发布它。在我的例子中,我删除了
工具:ignore=“HardcodedDebugMode”
中的AndroidManifest.xml,这是我为调试而添加的
在进行上述更改后,收到了已签名APK中改装请求的正确响应
注意:我知道这是一个迟到的回复,我将为将来面临类似问题的人发布。请将minify设置为false。(生成/编辑生成类型)
如果在代码发布时设置此选项,则会删除某些零件 请将minify设置为false。(生成/编辑生成类型)
如果在代码发布时设置此选项,则会删除某些零件 我按照中的建议将SerializedName注释添加到我版本的UserInfoResponse类中的所有字段中。仍然没有解决问题 添加 -保持类UserInfoResponse{*;}
proguard rules中的规则为我修复了它。我按照中的建议将SerializedName注释添加到我版本的UserInfoResponse类中的所有字段中。仍然没有解决问题 添加 -保持类UserInfoResponse{*;}
proguard规则中的规则为我修复了它。包括实际的函数头(因此
无效请求(blabla)
或有趣请求()
)您是否正确配置了proguard文件?您可能没有为proguard中的改装2保留适当的类。检查此@Zun我已更新我的请求。您能检查一下吗。@MayRestinPeace我添加了proguard代码,但问题仍然相同。您的响应模型-UserInforResponsei包含您的实际函数头(因此,void request(blablabla)
或fun request()
)您正确配置了proguard文件吗?您可能没有为proguard中的改装2保留适当的类。检查此@Zun我已更新我的请求。您能检查一下吗。@MayRestinPeace我添加了proguard代码,但仍然是相同的问题您的响应模型-发布版本中的UserInforResponse minifyEnabled必须为true,对吗?@hasan_shaikh:no minifyEnable应该为false。因为如果您将其设置为true,则需要添加proguard。是的,在版本中,build minifyEnabled应该设置为true,这会缩小您的代码,使攻击者更难对您的代码进行反向工程。在版本中,build minifyEnabled必须为true,对吗?@hasan_shaikh:no minifyEnabled应该为false。因为如果您将其设置为true,则需要添加proguard。是的,在发布版本中,build minifyEnabled应设置为true,它会缩小您的代码,使攻击者更难对您的代码进行反向工程I删除此代码,仍然面临相同的问题I删除此代码,仍然面临相同的问题
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'