我刚刚遇到了一个非常奇怪的问题,我的应用程序的一个版本,通过Google Play的测试版渠道分发,拒绝部署到任何设备上。一些调查和谷歌的帮助表明,当深入到Google Play控制台中的APK细节时,问题是这样的:
是什么导致了这种情况呢?这就是在我的build.gradle
中指定依赖项的方式
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
APK是这样构建的:
gradle clean
gradle assembleMarketRelease
其中market
是其中一种产品口味。该应用程序在侧面加载时安装和运行得很好。
我解决了这个问题,移除了这个依赖,并自己重新实现了缺失的功能,现在应用程序正在按预期部署。但我想要了解潜在的问题。我是否错误地指定了依赖项?我是不是构建错误了?
相关:Google play developer console shows DS_Store in Native Platforms section of uploaded Apk
发布于 2014-03-24 05:48:44
编辑: Pang的答案实际上是正确的https://stackoverflow.com/a/28759797/1436766。我将保留这个答案,因为它解决了一个类似的问题。
我今天也面临着同样的问题。我上传了我的apk,控制台告诉我apk有一个原生平台'joda-convert-1.5.jar‘。令人惊讶的是,我并没有在任何地方直接使用这个jar。经过研究,我发现这个jar正在被我正在使用的另一个库使用。它在那个jar的'lib‘文件夹中。因为我有这个库的源代码,所以我通过将'joda-convert-1.5.jar‘放在'libs’文件夹中重新编译了这个库。清理和重新编译了我的应用程序。一切都解决了。
似乎“lib”文件夹中的任何内容都被视为本地库,因此开发人员控制台会这样显示它。确保库在'libs‘文件夹中。
希望这能有所帮助。
发布于 2015-02-27 15:35:49
我把它改成了
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
使用
compile 'commons-io:commons-io:2.4'
在build.gradle中。
我是这样发现的:
Gradle选项卡上的
'commons-io:commons-io:2.4'
.https://stackoverflow.com/questions/21750138
复制相似问题