Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

debugging - android-maven-plugin: Disable debug build for apk

I am not clear about the exact procedure for disabling debug build while building with android-maven-plugin:

I understand that the export wizard with ADT(21.1) will automatically disable debugging but it is broken as BuildConfig.DEBUG always returns true and my logging used to depend on it. (Now I have my own property for logging defined in my maven build profiles.)

So if I have to disable debugging using android-maven-plugin, what is the the right way to do it?

I use the following plugins:

  1. maven-compiler-plugin
  2. maven-jarsigner-plugin
  3. proguard-maven-plugin
  4. android-maven-plugin with zipalign goal and configuration.

I am not sure whether signing and zipaligning automatically disables debugging because I see the following line in the maven output:

[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.

Is there an explicit way to disable debugging?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Check out changelog for Android Maven Plugin 3.5.0 - released 2012-12-18:

ATTENTION

Since non-release builds are now debuggable by default you NEED TO ensure that the release parameter is set to true in your release build.

In the pom this would be e.g.

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

or you could activate on the command line with e.g

mvn clean deploy -Dandroid.release=true

or if you use the release plugin just add the above pom config to the release profile.

Source Code:

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

Related Pull Request:

Off Topic:

For logging management, A more elegant and strategic way is to use Proguard remove all log call at project release phase, see answer here for more details.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...