Android separate string values for release and debug builds

不羁的心 提交于 2019-11-29 16:52:29

问题


Every time i release my app i change all my url strings and some keys from testing to production. The way I do it is just comment out the testing strings before i release. Is there a better way to handle strings based on the build type ?


回答1:


Assuming you use Android Studio, by default the system creates a basic release and debug flavor. So if you add a debug and release folder in the app/src folder of your project you can declare separate values there.

So your structure should be like this:

project
  -app
    -src
      -debug
        -java
          ...
        -res
          -values
            -strings.xml
      -release
        -java
          ...
        -res
          -values
            -strings.xml
      -main
        -java
          ...
        -res
          -values
            -strings.xml

I should also add that if you have a string which isn't defined in either of the debug or the release folder that it will fallback to your main folder.




回答2:


Just make two flavors in build.gradle. Then two directories, again as given in the link (developer.android.com/tools/building/configuring-gradle.html ). Since you need only strings to be altered, just copy your strings.xml files into the new directories (i.e. dev and production) Delete your original strings.xml

And thats it. :)

No need to move your java files or other layout files.

In short, leave everything in your 'main' directory that should be consistent across all build flavors. Override the values dependent upon build flavor into their respective directory.



来源:https://stackoverflow.com/questions/36039848/android-separate-string-values-for-release-and-debug-builds

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!