You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CN1应用因隐私违规遭Google Play下架,求排查解决办法

Codename One应用因隐私政策被Google Play下架的排查与解决方法

一、问题根源分析

你用到的Log.sendLogAsync()和Log.bindCrashProtection(true)是Codename One框架自带的日志与崩溃保护功能,默认情况下这些功能会自动收集设备相关信息(包括手机号、IMEI等),并上传到Codename One的云端服务(也就是Google检测到的https://cloud.codenameone.com)。这是框架的默认行为,并非你主动编写代码触发的,哪怕应用没有广告也会存在这个情况。

二、具体解决步骤

1. 关闭框架自动数据上传功能

修改主类的init方法,移除或注释掉触发数据上传的代码:

public void init(Object context) {
    updateNetworkThreadCount(2);

    theme = UIManager.initFirstTheme("/theme");                 
    CSSUtilities.loadMultipleCSSes("theme");

    Toolbar.setGlobalToolbar(true);

    // 注释或删除崩溃保护绑定,关闭自动上传崩溃数据
    // Log.bindCrashProtection(true);

    addNetworkErrorListener(err -> {
        err.consume();
        if(err.getError() != null) {
            Log.e(err.getError());
        }
        // 移除自动发送日志到云端的代码
        // Log.sendLogAsync();
        Dialog.show("Connection Error", "There was a networking error in the connection to " + err.getConnectionRequest().getUrl(),
        "OK", null);
    });        
}

2. 排查其他潜在数据上传点

  • 检查ClassStartScreen、ClassPojos、ClassPojos2等自定义类,确认是否存在调用Codename One网络API(如ConnectionRequest)或其他可能上传数据的逻辑。
  • 查看项目中的codenameone_settings.properties配置文件,找到类似codename1.logUploadEnabled的配置项,将其设置为false,彻底禁用框架的日志上传功能。

3. 完善隐私政策并提交申诉

  • 在Google Play Console中补充隐私政策,明确说明应用已关闭所有自动数据收集功能,不会收集或上传用户个人信息;若之前是框架默认行为导致,也要在政策中说明已完成整改。
  • 在应用内添加隐私政策入口(比如设置页面的文本链接),满足Google的应用内披露要求。
  • 重新打包修改后的应用,提交新版本到Google Play,同时在申诉中说明问题根源(框架默认行为)和已采取的解决措施。

4. 验证整改效果

可以通过抓包工具(如Charles、Wireshark)监测应用运行时的网络请求,确认不再有向https://cloud.codenameone.com的上传请求;同时测试应用崩溃场景,确认不会自动发送数据。

内容的提问来源于stack exchange,提问作者rainer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 11:57:37