作者bjzhou,源码Coolapk-kotlin,这是一款非常不错的应用商店项目案例,酷安应用商店开源版客户端应用项目源码。点此下载 Demo apk酷市场 V7 版 API 相关所有接口使用统一的前缀: https://api.coolapk.com/v6/所有接口使用统一的 HTTP 头:User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Nexus 4 Build/LMY48T) (#Build; google; Nexus 4; LMY48T; 5.1.1) +CoolMarket/7.3 X-Requested-With: XMLHttpRequest X-Sdk-Int: 22 X-Sdk-Locale: zh-CN X-App-Id: coolmarket X-App-Token: 2a6e2adc2897c8d8133db17c2cd3b1045834ce58-d7d5-38eb-95d5-563167a1983d0x588f16cd X-App-Version: 7.3 X-App-Code: 1701135 X-Api-Version: 7具体参数获取方式可参考ApiManager.java,其中X-App-Token的生成是c++写的,直接引用了酷市场的 so 文件,不清楚具体算法,组合方式应该是校验和+uuid+时间戳本项目介绍了 main/init 和 picture/list 两个接口的具体使用方法,分别是获取启动图和所有酷图的,其他接口可参考下面的 retrofit 接口文件:public interface CoolMarketService { @POST("feed/favorite") Observable> m3639A(@Query("id") String str); @POST("user/follow") Observable> m3640B(@Query("uid") String str); @POST("user/unfollow") Observable> m3641C(@Query("uid") String str); @POST("feed/cancelRecommend") Observable> m3642D(@Query("id") String str); @POST("feed/Recommend") Observable> m3643E(@Query("id") String str); @POST("discovery/loadDiscoveryInfo") Observable> m3644F(@Query("query") String str); @GET("topic/tagDetail") Observable> m3645G(@Query("tag") String str); @GET("feed/followTag") Observable> m3646H(@Query("tag") String str); @GET("feed/unFollowTag") Observable> m3647I(@Query("tag") String str); @GET("message/receive") Observable> m3648J(@Query("id") String str); @GET("message/read") Observable> m3649K(@Query("ukey") String str); @GET("cloudInstall/task") Observable> m3650L(@Query("id") String str); @GET("apk/qr") Observable<Result<Servi