我下载了开源项目Linphone,并相应地构建它,构建后我在Eclipse中导入项目并尝试在布局中进行一些自定义,现在我想将应用程序上传到Play商店,但我收到的这个错误或拒绝:
你好Google Play开发者,
我们拒绝了你的应用程序,包名为org。Xxxxxx,违反我们的恶意行为或用户数据策略。如果你提交了更新,你的应用程序的前一个版本在Google Play上仍然可用。
这个应用程序使用了包含安全漏洞的软件用户或允许收集用户数据而不适当披露。
下面是问题列表和相应的APK版本在您最近提交的文件中发现。请升级您的应用程序并增加升级后APK的版本号。
漏洞APK Version(s) Portable SDK for UPnP Devices修复了libupnp v1.6.18及更高版本中的漏洞。更多的信息和下一步操作,请参阅谷歌帮助中心文章。
2511为确认您已正确升级,请提交更新版本把你的应用放到开发者控制台,5个小时后再回来以确保警告已消失。
虽然这些漏洞可能不会影响每个使用这个的应用程序软件,最好保持最新的所有安全补丁。使一定要更新应用程序中已知安全的库问题,即使你不确定这些问题是否与你的应用相关。
应用程序还必须遵守开发者分销协议和开发者计划政策。
如果你觉得我们的决定是错误的,请联系我们致我们的政策支持团队。
如何在linphone Android项目中更新upnp sdk并解决此问题?我用最新版本的文件修改了submodules/externals/build/libupnp的文件,
但是这个拒绝仍然面对更新版本:
这里是build.gradlebuild.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 22
buildToolsVersion "20.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
resources.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
aidl.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
renderscript.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDir 'libs'
java.exclude '**/mediastream/MediastreamerActivity.java'
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
我的代码工作很好,应用程序不会崩溃。logcat只显示详细信息。那么libupnp版本的问题是什么呢?Google Play根本不接受我的应用程序,即使我从子模块中删除了libpnp文件,在设备上运行应用程序,发现它工作得很好,然后更新版本代码,生成签名apk,然后在Google Play开发者上上传版本。他们回复说他们拒绝发布,因为libpnp包含漏洞;但是我的项目不包含任何libupnp文件。
这就是他们所指的:support.google.com/faqs/answer/6346109;我做了所有的升级,但还是拒绝了。我在项目中删除了upnp库文件,从项目中删除了libupnp的参考代码,但他们仍然说你的应用程序是脆弱的。当然,当项目中没有文件和代码时,就没有漏洞了吗?
不幸的是,liblinphone本身就包含这个易受攻击的库。
截至2016年9月2日,从linphone.org下载linphone-latest.apk并在其中搜索显示
UPnP/1.0, Portable SDK for UPnP devices/1.6.17
在他们更新之前,你没有什么办法,除了要求他们更新。
好吧,伙计们,我已经解决了这个问题,并把我自己的问题的答案放在这里,好吧,我所要做的就是从git下载更新的文件,在互联网上很容易找到,然后我不得不重建项目,最新版本的linphone是libupnp v1.6.9,避免了漏洞。所以现在完全没有问题了。
@Addi。谢谢你分享这些信息。我检查了这个问题,发现他们将Upnp库更新到1.6.19,并在upnpconfig.h中进行了注释库版本(字符串),例如:1.3.0"版本"UPNP_VERSION_STRING"1.6.19"我使用它并更新了子模块。然后我用LinPhone发布的最新版本的SDK进行编译,但应用程序仍然被拒绝。LinPhone还建议我使用Lib和更新子模块,但当Lib版本本身定义了1.6.19