Android 从ionic应用程序(版本)中删除控制台日志

Android 从ionic应用程序(版本)中删除控制台日志,android,cordova,ionic2,Android,Cordova,Ionic2,如何从ionic 2发行版应用程序中删除控制台日志 我正在开发一个离子2应用程序。当我构建发布apk并在设备上运行时,我仍然可以从chrome://inspect,并查看控制台日志。我尝试过移除cordova插件控制台,但这没有什么区别 编辑:我发现一个可以删除控制台日志的包: 只是不确定在构建发布版时如何使用它自动删除它们。请帮忙 谢谢。如果您仍然可以连接调试器,那么它不是发布版本-听起来您可能无意中安装了调试版本或连接到其他应用程序 编辑;上面所说的不一定是真的-在某些情况下,您可以在发布版

如何从ionic 2发行版应用程序中删除控制台日志

我正在开发一个离子2应用程序。当我构建发布apk并在设备上运行时,我仍然可以从chrome://inspect,并查看控制台日志。我尝试过移除cordova插件控制台,但这没有什么区别

编辑:我发现一个可以删除控制台日志的包: 只是不确定在构建发布版时如何使用它自动删除它们。请帮忙


谢谢。

如果您仍然可以连接调试器,那么它不是发布版本-听起来您可能无意中安装了调试版本或连接到其他应用程序

编辑;上面所说的不一定是真的-在某些情况下,您可以在发布版本中通过chrome调试js/html/css内容;特别是,如果webview可调试性标志在代码中设置/未由生成系统设置,等等-此标志与应用程序调试标志分开,因此如果未正确设置,您将能够调试“发布”生成/无法调试“调试”生成-请参阅。 编辑结束

(注意,在安装之前,您必须签署发布版本)

是否有可能发行版安装失败,而您仍在查看以前的调试版本

假设您有一个发布版本,无法通过chrome inspect连接查看日志

除非您注释掉它们,否则console.log调用仍将在发布版本中,并且可能以其他方式可见,例如android tools sdk\tools\monitor。确保它们不可见的唯一方法是注释掉它们。你可以用这样的东西

console.log = function(){} ;

在你的设备就绪功能结束时,在任何插件都完成了它们可能要做的事情之后-尽管仍然没有100%的保证,因为一个行为不好的第三方插件或库可能会在以后重新分配它,然后你的调用仍然会发生-绝对确保你需要注释掉它们。

你尝试过删除吗控制台日志

cordova plugin rm cordova-plugin-console
然后


在生产构建时,可以使用uglifyjs.config.js删除所有控制台日志

一,。将节点_模块中的uglifyjs.config.js复制到项目文件夹中

二,。在新的配置文件中,如果生产需要,将标志drop_console设置为true

var isProduction = process.env.IONIC_ENV === 'prod'; 

...

compress: {
  drop_console: isProduction
}
三,。在package.json中设置自定义配置

"config": { "ionic_uglifyjs": "uglifyjs.config.js" },

就这些

删除“cordova插件控制台”,然后看看会发生什么。根据我原来的帖子,我已经删除了插件。唯一的区别是我使用安卓--release--prod构建了爱奥尼亚版本。我确实安装了这个版本。我先在应用程序中尝试卸载,然后安装了版本apk。我在构建apk时确实对其进行了签名。我将尝试创建一个新项目并进行测试,以确认100%只需通过设备上的“设置”中的“应用程序管理器”进行卸载,然后直接从命令行安装“adb-s安装,或者如果您可以生成该版本,请不要对其进行签名,然后尝试安装该版本-安装未签名的发布版本应失败-这将表明该版本apk实际上是一个调试apk(如果安装)。通过app manager卸载。”。生成未签名的发布apk。无法安装它。构建签名发布apk。安装良好。还能依附chrome://inspect 并查看控制台日志。更令人担忧的是,我还可以看到未加密的https流量请求和响应。
"config": { "ionic_uglifyjs": "uglifyjs.config.js" },