2015-09-28 17 views
0

在gradle中使用以下代碼,我們可以通過更改構建變體選項卡來切換生產和分段。使用gradle中的productFlavors在生產和分段之間切換而不使用構建變量的Android代碼

productFlavors { 
    staging { 
     applicationId = "co.example.staging"; 
    } 
    production { 
     applicationId = "co.example.production"; 
    } 
} 

我想要一個代碼在應用程序開始之間切換生產和分段。用兩個單選按鈕在生產和分段之間切換(使用xml文件)。 是否可以這樣做?

+0

我不這麼認爲。考慮到build.gradle用於在應用程序執行之前對其進行編譯,我認爲在應用程序開始確定運行哪個版本的應用程序之後,我不認爲你可以有一個單選按鈕。 – nbokmans

+0

@nbokmans是否有任何其他方式,而不是在build.gradle – Archana

+0

改變我不能說我已經嘗試過這樣做,所以我不能幫你。抱歉。 – nbokmans

回答

1

如果在分段中有調試選項。檢查調試標誌使用

boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)); 

if (isDebuggable) { 
// perform code for staging 
} else { 
// perform code for production. 
} 
0

你不能。一旦應用程序被打包,它的applicationId就決定了;

+0

好的。但是現在我正在做的是手動更改strings.xml文件中的值,以便從生產轉移到暫存,反之亦然。有沒有辦法使用xml文件在分段和生產之間切換? – Archana

+0

你能從這個變化中得到什麼? –

+0

需要在生產和分段之間進行切換,而無需修改strings.xml中的值 – Archana

0

這樣的:

in application 
String getPhotoUrl() { 
    if(istest){ 
    retrun "http://" 
    }else{ 
    retrun "192.168.15.89" 
    } 
} 
boolean istest = false; 
in activity: 
btn.setOnClick(v->{ 

    istest = !istest; 
    }  
}) 
相關問題