报错记录
报错一:可能因文件夹嵌套过深出现的异常
Android resource linking failed
Output: W/ziparchive( 5692): Unable to open '项目路径(例 D:/xxx)\app\build\intermediates\processed_res\打包名称\打包资源名称\out\resources-资源名称.ap_': No such file or directory
error: failed to open APK: I/O error.
Command: C:\Users\Exception\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\f3b4b326ea9f1e1e4aa1196b35f260cc\aapt2-3.2.1-4818971-windows\aapt2.exe link -I\
D:\Software\Android\Sdk\platforms\android-26\android.jar\
-I\
。。。。。
。。。。。
。。。。。
Daemon: AAPT2 aapt2-3.2.1-4818971-windows Daemon #0
解决方式 :1
allprojects {
repositories {
google()
jcenter()
}
buildDir = "D:/tmp/${project.name}" //添加运行时转存文件目录(不在使用默认的)
}
解决方式 :2
将项目所在文件夹或者项目文件夹调整简短
报错二:layout文件或者id文件重名导致的异常
java.lang.NoSuchFieldError:
No static field txt_content of type I in class Lcom/test/ ...
解决方式 :1
修改命名
报错三:Retrofit post 传输 String 多了双引号问题 导致酵母数据解析不出来
后端代码
@PostMapping("/login")
public ResultBean doLogin(@RequestBody String registerEncryptData) {
System.out.println(registerEncryptData);
String decrypt = AesUtil.decrypt(registerEncryptData);
LoginRequestBean requestBean = JSON.toJavaObject(JSONObject.parseObject(decrypt), LoginRequestBean.class);
return loginService.doLogin(requestBean);
}
请求代码
RetrofitServiceManager.getInstance().create(ApiService.class).goLogin(s).compose(RxJavaHelper.observeOnMainThread()).subscribe(new DefaultObserver<String>() {
@Override
public void onSuccess(String response) {
Toast.makeText(context, response, Toast.LENGTH_SHORT).show();
}
@Override
public void onFinish() {
super.onFinish();
}
});
请求的数据是 : VO18XUgxLIxfjMSWa/WnQI/ZM04mjES/I2kzlq3aWjidRvpErzsCjZQRZPUerAhY7KwjIIhUqc=
后端收到的是 : "VO18XUgxLIxfjMSWa/WnQI/ZM04mjES/I2kzlq3aWjidRvpErzsCjZQRZPUerAhY7KwjIIhUqc="
解决方式 :原因是你注册了 GsonConverter,没注册标准类型数据的转换器,或者标准类型数据的转换器不是第一个,就会导致String这些都会转成 JSON 传输,你只需要加一个标准类型的转换器就行了。
retrofit = new Retrofit.Builder()
.client(okHttpClient)//设置使用okhttp网络请求
.baseUrl(REQUEST_PATH)//设置服务器路径
.addConverterFactory(ScalarsConverterFactory.create())//获取返回的字符串
.addConverterFactory(FastJsonConverterFactory.create())//FastJson转化库
.addConverterFactory(GsonConverterFactory.create())//默认Gson转化库
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())//添加回调库,采用RxJava
.build();
将 ScalarsConverterFactory 提前