android-maven-插件 : Disable debug build for apk

标签 android debugging maven build maven-plugin

我不清楚使用 android-maven-plugin 构建时禁用调试构建的确切过程:

我知道带有 ADT(21.1) 的导出向导会自动禁用调试,但由于 BuildConfig.DEBUG 总是返回 true 并且我的日志记录曾经依赖它,所以它被破坏了。 (现在我在我的 Maven 构建配置文件中定义了我自己的日志记录属性。)

那么,如果我必须使用 android-maven-plugin 禁用调试,那么正确的做法是什么?

我使用以下插件:

  1. maven-compiler-plugin
  2. maven-jarsigner-plugin
  3. proguard-maven-plugin
  4. 带有 zipalign 目标和配置的 android-maven-plugin。

我不确定签名和压缩对齐是否会自动禁用调试,因为我在 maven 输出中看到以下行:

[INFO] --- android-maven-plugin:3.5.0:apk (default-apk) @ stackx ---
[INFO] Copying local assets files to combined assets directory.
[INFO] Enabling debug build for apk.

是否有明确的方法来禁用调试?

最佳答案

查看 changelog适用于 Android Maven 插件 3.5.0 - 2012 年 12 月 18 日发布:

注意

由于现在默认情况下可以调试非发布版本,因此您需要确保在发布版本中将发布参数设置为 true。

在 pom 中这将是例如

<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
    <release>true</release>

或者你可以在命令行上激活例如

mvn clean deploy -Dandroid.release=true

或者如果您使用发布插件,只需将上述 pom 配置添加到发布配置文件中。

源代码:

com/jayway/maven/plugins/android/phase09package/ApkMojo.java

相关的拉取请求:

题外话:

对于日志管理,更优雅和战略性的方法是在项目发布阶段使用 Proguard 删除所有日志调用,请参阅答案 here了解更多详情。

关于android-maven-插件 : Disable debug build for apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055961/

相关文章:

java - 为什么 Maven 需要相同版本的不同依赖项?

java - Cucumber Java - JUnit 在命令行上设置单色

JavaScript 执行时间轴

android - 使用 ndk-gdb 调试时调用参数丢失。堆栈跟踪有效

android - 在模拟器中打开wifi

android - 从我的 Android 日历中仅删除重复事件的一个实例

c++ - 如何使用 glDebugMessageControl 仅禁用一个特定 ID?

java - 记录 Maven 依赖关系

android - 根据网络响应更新 Activity 的正确方法是什么?

android - 升级数据库Sugar ORM总是删除以前表的数据