15

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

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

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

我使用以下插件:

  1. maven 编译器插件
  2. maven-jarsigner-插件
  3. proguard-maven-插件
  4. 带有 zipalign 目标和配置的 android-maven-plugin。

我不确定签名和 zipaligning 是否会自动禁用调试,因为我在 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.

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

4

1 回答 1

34

查看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 在项目发布阶段删除所有日志调用,有关更多详细信息,请参阅此处的答案。

于 2013-02-24T21:15:47.653 回答