用AS很久了,也积累了很多使用经验。其中一条就是不要轻易升级最新版本,即便是稳定版!!!不然指不定整出什么幺蛾子来……
但是用3.5也推送了好多天,估摸着差不多该升级了……
所以今天把AS3.4升3.5了……
然后,果不其然,又出问题了:
编译详情:
> Task :FactoryTest:compileDebugJavaWithJavac FAILED
D:\Workspace\AS3\EmdoorApps\FactoryTest\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\com\emdoor\mesclient\FactoryMesClient.java:98: 错误: 解析时已到达文件结尾
return super.onTransact(code, data, re
^
D:\Workspace\AS3\EmdoorApps\FactoryTest\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\com\emdoor\mesclient\FactoryMesClient.java:99: 错误: 解析时已到达文件结尾
2 个错误
FAILURE: Build failed with an exception.
打开这个文件检查吧,和之前一模一样,但就是build不过,怎么办?
// FactoryMesClient.aidl
package com.emdoor.mesclient;
import com.emdoor.mesclient.ResultListener;
interface FactoryMesClient {
//设置测试工站
void setStation(String station);
//上传log文件
void uploadTestLog(String file, ResultListener listener);
//上传测试结果
void reportTestResult(boolean pass, String resultCode, ResultListener listener);
//请求数据
void requestBindingData(ResultListener listener);
//请求状态
void requestTestStatus(ResultListener listener);
}
解决方法:
很简单,把注释信息都删掉就OK了。
这里,个人觉得注释信息问题,导致AIDL文件解析异常,但是具体是编码、换行符、空白符、转义字符,还是其它问题,就没有去研究了。
比如,Makefile里面,一行最后面如果是“ \”,那么在解析的时候,它后面的一行也会自动合并到当前行。
LOCAL_AAPT_FLAGS := \
--auto-add-overlay \
--extra-packages com.android.contacts.common \
--extra-packages com.android.phone.common \
--extra-packages android.support.design \
--extra-packages android.support.transition \
--extra-packages android.support.v7.appcompat \
--extra-packages android.support.v7.cardview \
--extra-packages android.support.v7.recyclerview
本文经「原本」原创认证,作者Shawn.XiaFei,访问yuanben.io查询【2ET0ZDB3】获取授权信息。