xiongliang120

Results 4 comments of xiongliang120

1) aapt 为res 目录下资源生成R.java 文件,同时为AndroidMainfest.xml 生成Mainfeset.java文件 2)aidl 将项目中自定义的aidl 生成相应的Java文件 3) javac 将项目中所有java 代码编译成class 文件,包括 业务逻辑代码, aapt 生成 java文件,aidl 生成java 文件 4) proguard , 混淆同时生成mapping.txt ,这步可选 5) 将所有class 文件(包括第三方class 文件) 转换为dex...

> 用AspectJ 将埋点代码插入需要的地方,然后每次存入数据库,定期用workmanager 上传,(或每次应用退出后post给workmanager一个上传work 如果埋点的数据需要传入大约10个参数,这种情况AspectJ, 能够很好的做到吗?

Android 可以使用 AspectJ 实现 AOP 编程, 实现原理是编译时在注解处嵌入代码,侵入性小

AIDL 基于Binder的跨进程通信方式,AIDL 需要定义客服端和服务端,需要定义相应的aidl 文件,客户端于服务端是相对的。 aidl 文件会生成对应的aidl.java 文件, 该文件中主要对应Stub, Proxy 两个关键类,当客户端请求服务端时,客户端会通过Stub.asInterface(IBinder).sum(a) 来判断, 服务端的IBider 于客户端是否是同一进程,如果是同一进程,则跟进程间通信没关系了,反之,则会将IBinder 包装为Proxy, 然后客户端调用proxy.sum(a)方法访问服务端,通过_data 传递参数,通过_reply 接受服务端返回数据。 客户端使用IBinder的transact将数据传给服务端, 服务端通过onTransact() 接受参数,并将处理结果写到_reply 中。