我尝试使用自定义密钥库重建Android代理(以允许具有自己的SSL证书的SSL)以及可选的其他自定义。当按照documentation(product-emm 2.0.1)中的描述构建项目时,Android工作室(Android studio 2.2,Androind 5.1.1,API 22)声称以下方法是未知的:
我是否需要不同的API级别(根据文档应该没问题),差异工具还是什么?根据{{3}}," startServiceAsUser"不是公共方法..
编辑:现在我看到要重建的项目应该是product-mdm(???)我假设MDM平台(应该是)EMM的一部分,但是 - 代码库略有不同。似乎这个问题涉及产品-emm 2.2.0-SNAPSHOT
答案 0 :(得分:1)
如果您对EMM Android代理源代码做出任何贡献,那么您肯定需要针对最新的EMM(目前为2.2.0)进行编译。
我也面临着编译EMM 2.2安卓代理的相同错误 - 它是因为他们使用的隐藏系统API在常规Android SDK中不可用,这个API可以通过Reflection API访问(WSO2维护者应该这样做)或者"扩展"来自ASDK的android.jar包括隐藏的API。这些jar文件可以从设备上的系统jar中提取(你需要一个带有适当Android API版本的root设备),或者来自构建Android ROM的AOSP build,系统应用程序是针对带有隐藏API的系统jar构建的。 / p>
有关此事的更多信息,请参阅How do I build the Android SDK with hidden and internal APIs available?。
显然WSO2维护者用这样的"扩展"编译android代理。系统库。
EDITED:事实上,WSO2维护者使用隐藏API针对ASDK进行编译,这是一个概念点,因为代理可以部署到具有隐藏API的COPE设备。在此处查看更多信息:https://wso2.org/jira/browse/EMM-141
我个人的偏好是使用隐藏API更新ASDK中的android.jar,可以在此处下载:library that provides access to Android hidden API and internal resources
答案 1 :(得分:0)
显然我使用了错误的项目源(2.2.0-SNAPSHOT)。使用官方发行版(2.0.1)提供的源代码时。构建成功。