Android Studio: Switching a URL depending on buildtype? (used for testing in debug /release)

后端 未结 2 1821
一向
一向 2021-01-31 18:01

I have been reading something about variants and buildtypes and I don\'t know if I am understanding it right but I would like to store a URL for locahost (testing) and one for p

相关标签:
2条回答
  • 2021-01-31 18:27

    You can use the BuildConfig for supplying different URLs for each BuildType

    buildTypes {
        debug {
            buildConfigField "String", "SERVER_URL", '"http://someurl/"'
        }
        release{
            buildConfigField "String", "SERVER_URL", '"http://someotherurl/"'
        }
    }   
    

    The BuildConfig will be autogenerated each time you sync your project with the gradle file. In your code, you can access the URL like this:

    BuildConfig.SERVER_URL
    

    If you don't want to commit these URLs, you can store them in your gradle.properties just like your password and such and reference them in the build.gradle.

    buildConfigField "String", "SERVER_URL", serverurl.debug
    
    0 讨论(0)
  • 2021-01-31 18:41
       buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            buildConfigField "String", "BASE_URL", '"url1"'
            debuggable false
    
        }
    
       debug {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            buildConfigField "String", "BASE_URL", '"url2"'
            debuggable true
    
     }
    

    This you need to do in the gradle and to make run two applications(release and debug) in a same phone just add

    applicationIdSuffix ".debug"

    in debug portion. As the package name will be different. This worked for me.

    0 讨论(0)
提交回复
热议问题