0

我下载了开源项目 Linphone,并相应地构建它,构建后我在 Eclipse 中导入项目并尝试在布局中进行一些自定义,现在我想将应用程序上传到 Play 商店,但我收到了这个错误或拒绝:

您好 Google Play 开发者,

我们拒绝了您的应用程序,包名称为 org.xxxxxx,因为它违反了我们的恶意行为或用户数据政策。如果您提交了更新,您的应用的旧版本仍可在 Google Play 上使用。

此应用程序使用包含用户安全漏洞的软件,或允许在未经适当披露的情况下收集用户数据。

以下是在您最近提交的文件中检测到的问题列表和相应的 APK 版本。请尽快升级您的应用并增加升级后 APK 的版本号。

漏洞 APK 版本 UPnP 设备的便携式 SDK 这些漏洞已在 libupnp v1.6.18 及更高版本中修复。有关详细信息和后续步骤,请参阅此 Google 帮助中心文章。

2511 要确认您已正确升级,请将应用的更新版本提交到开发者控制台,并在五小时后回来查看以确保警告消失。

虽然这些漏洞可能不会影响使用此软件的每个应用程序,但最好及时更新所有安全补丁。确保更新应用中存在已知安全问题的所有库,即使您不确定这些问题是否与您的应用相关。

应用程序还必须遵守开发者分发协议和开发者计划政策。

如果您认为我们做出此决定有误,请联系我们的政策支持团队。

如何更新 linphone Android 项目中的 upnp sdk 并解决此问题?我用最新版本的文件更改了 submodules/externals/build/libupnp 中的 libupnp 文件,

但是更新版本仍然面临这种拒绝:

这是 build.gradle

已编辑

构建.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 的引用代码,但他们仍然说您的应用程序易受攻击。当然,当项目中没有文件并且没有代码时,就没有漏洞吗?

4

3 回答 3

2

不幸的是,liblinphone 本身包含易受攻击的库。

截至 2016 年 9 月 2 日,从 linphone.org 下载 linphone-latest.apk 并在里面搜索显示

UPnP/1.0, Portable SDK for UPnP devices/1.6.17 

在他们更新之前,除了要求他们更新之外,您无能为力。

于 2016-09-02T17:25:12.423 回答
0

好的,伙计们,我已经解决了问题并将我自己的问题的答案放在这里,我所要做的就是从 git 下载更新的文件,在互联网上很容易找到,然后我不得不重建项目,最新版本的 linphone 是拥有避免漏洞的 libupnp v1.6.9。所以现在完全没有问题。

于 2016-09-07T23:01:41.637 回答
0

@Addi.Star 感谢您分享信息。我检查了这个问题,发现他们将 Upnp Lib 更新为 1.6.19,它还在 upnpconfig.h 库版本(字符串)中添加了注释,例如“1.3.0”UPNP_VERSION_STRING“1.6.19”我使用了它并更新了子模块。比我用 LinPhone 发布的最新版本的 SDK 编译它,但应用程序仍然被拒绝。LinPhone 还建议我使用 Lib 并更新子模块,但当 Lib 版本本身定义 1.6.19 时,没有任何帮助

于 2016-09-19T15:59:08.607 回答