WSO2EMM重建移动代理失败

时间:2016-10-03 08:51:28

标签: android wso2 wso2-emm

我尝试使用自定义密钥库重建Android代理(以允许具有自己的SSL证书的SSL)以及可选的其他自定义。当按照documentation(product-emm 2.0.1)中的描述构建项目时,Android工作室(Android studio 2.2,Androind 5.1.1,API 22)声称以下方法是未知的:

  • org.wso2.emm.agent.api.RuntimeInfo - Environment.getLegacyExternalStorageDirectory(第159行)
  • org.wso2.emm.agent.services.AlarmReceiver - intent.getExtra(第56行)
  • org.wso2.emm.agent.services.NetworkConnectedReceiver - context.startServiceAsUser(第42行)
  • org.wso2.emm.agent.utils.CommonUtils - context.startServiceAsUser(第432,445行)

我是否需要不同的API级别(根据文档应该没问题),差异工具还是什么?根据{{​​3}}," startServiceAsUser"不是公共方法..

编辑:现在我看到要重建的项目应该是product-mdm(???)我假设MDM平台(应该是)EMM的一部分,但是 - 代码库略有不同。似乎这个问题涉及产品-emm 2.2.0-SNAPSHOT

2 个答案:

答案 0 :(得分:1)

EMM 2.0.1已经过时了(IMO至少有半年的时间),从那以后有很多变化/错误修复,你可能想要它们。

如果您对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)提供的源代码时。构建成功。