Android:调试和发布具有不同结果的版本
我即将在我的应用商店上发布发布版本。调试版本(我用手机代替仿真器)可以完美地工作,没有任何问题 然而,“签名的APK”版本根本没有连接到后端 我是如何在Android Studio中生成已签名的APK的:Android:调试和发布具有不同结果的版本,android,debugging,android-studio,apk,release,Android,Debugging,Android Studio,Apk,Release,我即将在我的应用商店上发布发布版本。调试版本(我用手机代替仿真器)可以完美地工作,没有任何问题 然而,“签名的APK”版本根本没有连接到后端 我是如何在Android Studio中生成已签名的APK的: 生成-->生成签名APK 创建新密钥库(使用pw) 构建类型==发布 通过移动实际APK文件本身并允许从未知来源安装,将其安装到手机上 我的标准请求(即登录、getUser、GetSomethingX)都出错了。事实证明,这是一个比我最初想象的更大的问题,因为我不知道如何测试日志打印语句并
- 生成-->生成签名APK
- 创建新密钥库(使用pw)
- 构建类型==发布
- 通过移动实际APK文件本身并允许从未知来源安装,将其安装到手机上
-Sil也许这无法回答您的问题
您使用过usb调试吗?
这是一种允许您直接从真实手机调试应用程序的方法
您只需下载驱动程序,启用手机调试模式,然后通过usb将手机插入PC/笔记本电脑
希望这对您有所帮助
致以最诚挚的问候也许这无法回答您的问题
您使用过usb调试吗?
这是一种允许您直接从真实手机调试应用程序的方法
您只需下载驱动程序,启用手机调试模式,然后通过usb将手机插入PC/笔记本电脑
希望这对您有所帮助
致以最诚挚的问候好的,找到了答案 在这里,这个问题的解决方案基本相同: 我最初的问题是,发布版本和调试版本之间是否存在差异:答案是,如果使用proguard并将minifyEnabled设置为true,则会混淆()代码(这是我所希望的)。一般来说,这对代码来说不是问题,因为它将R文件中的点编译为正确的字符串,并且它们的名称没有任何区别,但是,当您使用像Gson这样的依赖项时,这很重要,因为Gson需要读取传入的JSON Strnig变量名称并在代码中匹配它们 这里的最终结果是,要解决没有正确解析JSON对象的原始问题,只需将序列化名称添加到POJO类变量中。例如:
public class Person {
@SerializedName("name")
private String name;
@SerializedName("email")
private String email;
@SerializedName("phoneNumber")
private String phoneNumber;
.
//Setters and Getters
.
}
TL/DR-如果使用Gson,请始终将@SerializedName(“JSON_VARIABLE_NAME”)添加到所有POJO类变量名中
-Sil好的,找到了答案
在这里,这个问题的解决方案基本相同:
我最初的问题是,发布版本和调试版本之间是否存在差异:答案是,如果使用proguard并将minifyEnabled设置为true,则会混淆()代码(这是我所希望的)。一般来说,这对代码来说不是问题,因为它将R文件中的点编译为正确的字符串,并且它们的名称没有任何区别,但是,当您使用像Gson这样的依赖项时,这很重要,因为Gson需要读取传入的JSON Strnig变量名称并在代码中匹配它们
这里的最终结果是,要解决没有正确解析JSON对象的原始问题,只需将序列化名称添加到POJO类变量中。例如:
public class Person {
@SerializedName("name")
private String name;
@SerializedName("email")
private String email;
@SerializedName("phoneNumber")
private String phoneNumber;
.
//Setters and Getters
.
}
TL/DR-如果使用Gson,请始终将@SerializedName(“JSON_VARIABLE_NAME”)添加到所有POJO类变量名中
-Sil谢谢您的回复。我的调试应用程序正在使用USB调试,正如我在帖子中提到的(我用手机代替仿真器),但我无法在发布版本中使用USB调试,因为它不会打印logcat详细信息。哦,对不起,我以为你只使用仿真器。对我来说,dubugging发布应用程序很幸运,但你可以试试这些,通过usb将手机插入PC/笔记本电脑,直到PC识别出你的手机。在打开android studio之后,打开你的应用程序,在android studio的android监视器选项卡上,它会在连接的设备中显示你的手机,在它旁边,你可以选择可调试的应用程序,有时你的应用程序会显示在列表中,别忘了为你的日志级别选择“错误”。选择它后,您可以尝试使您的应用程序出错,它将显示在中。谢谢您的回复。我的调试应用程序正在使用USB调试,正如我在帖子中提到的(我用手机代替仿真器),但我无法在发布版本中使用USB调试,因为它不会打印logcat详细信息。哦,对不起,我以为你只使用仿真器。对我来说,dubugging发布应用程序很幸运,但你可以试试这些,通过usb将手机插入PC/笔记本电脑,直到PC识别出你的手机。在打开android studio之后,打开你的应用程序,在android studio的android监视器选项卡上,它会在连接的设备中显示你的手机,在它旁边,你可以选择可调试的应用程序,有时你的应用程序会显示在列表中,别忘了为你的日志级别选择“错误”。选择后,您可以尝试使您的应用程序出错,它将显示在那里