Google Play“原生平台"显示 commons-io-2.4.jar [英] Google Play "Native platforms" showing commons-io-2.4.jar

查看:22
本文介绍了Google Play“原生平台"显示 commons-io-2.4.jar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚遇到了一个非常奇怪的问题,我的应用构建版本(用于通过 Google Play 的测试版渠道分发)拒绝部署到任何设备.在 Google Play 控制台中深入查看 APK 详细信息时,来自 Google 的一些调查和一些帮助表明问题是这样的:

I have just encountered a very weird problem where a build of my app, for distribution through Google Play's beta channel, was refusing to deploy to any devices. Some investigation and some help from Google revealed that the problem was this, when drilling down to the APK detail in the Google Play console:

可能是什么原因造成的?这是在我的 build.gradle 中指定依赖项的方式:

What could have caused that? This is how the dependency was specified in my build.gradle:

compile 'org.apache.directory.studio:org.apache.commons.io:2.4'

APK 是这样构建的:

and the APK was built like this:

gradle clean
gradle assembleMarketRelease

其中 market 是产品口味之一.该应用在侧载时安装和运行都很好.

where market is one of the product flavors. The app installs and runs just fine when side-loaded.

我通过删除该依赖项解决了这个问题,并自己重新实现了缺失的功能,现在应用程序正在按预期部署.但我想了解潜在的问题.我是否错误地指定了依赖项?我构建错误了吗?

I worked around the issue by removing that dependency, and reimplementing the missing functionality myself, and now the app is being deployed as expected. But I would like to understand the underlying problem. Did I specify the dependency incorrectly? Did I build incorrectly?

相关:Google Play 开发者控制台在上传的 Apk 的 Native Platforms 部分显示 DS_Store

推荐答案

Pang 的答案实际上是正确的 https://stackoverflow.com/a/28759797/1436766.我会保留这个答案,因为它确实解决了类似的问题.

The answer by Pang is actually correct https://stackoverflow.com/a/28759797/1436766. I will keep this answer as it did resolve a similar problem.

我今天遇到了同样的问题.我上传了我的 apk,控制台告诉我 apk 有一个本地平台joda-convert-1.5.jar".令人惊讶的是,我没有直接在任何地方使用那个罐子.经过研究,我发现我正在使用的另一个库正在使用该 jar.它在那个 jar 的lib"文件夹中.由于我拥有该库的源代码,因此我通过将joda-convert-1.5.jar"放在libs"文件夹中来重新编译该库.并清理并重新编译我的应用程序.一切都已修复.

I was facing the same issue today. I uploaded my apk, and the console told me the apk had a Native platform 'joda-convert-1.5.jar'. Surprisingly I was not using that jar anywhere directly. After researching I found out that the jar was being used by another library I was using. And it was in the 'lib' folder of that jar. Since I had the source code of that library, I recompiled that library by placing that 'joda-convert-1.5.jar' in the 'libs' folder. And cleaned and recompiled my app. Everything was fixed.

似乎lib"文件夹中的任何内容都被视为本机库,因此开发者控制台显示它.确保库位于libs"文件夹中.

It seems that anything in a 'lib' folder is seen as a Native Library, and hence the developer console shows it like that. Make sure the libraries are in the 'libs' folder.

希望这会有所帮助.

这篇关于Google Play“原生平台"显示 commons-io-2.4.jar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆