2017-02-09 15 views
5

Tôi có 2 loại ứng dụng xây dựng: gỡ lỗi và phát hành.Có thể "testBuildType" có điều kiện trong tệp build.gradle của dự án Android không?

Tôi muốn thực hiện các thử nghiệm trên cả hai loại bản dựng.

Nhưng hiện tại chỉ có một Loại xây dựng được kiểm tra. Theo mặc định nó là Type debug xây dựng, nhưng điều này có thể được cấu hình lại với: android { ... testBuildType "phát hành" }

Tôi muốn thực hiện connectedDebugAndroidTestconnectedReleaseAndroidTest cả từng người một mà không thay đổi tệp gradle.

Có thể thực hiện "testBuildType" có điều kiện không? Vì vậy, theo biến thể xây dựng trong nhiệm vụ gradle (connectDebugAndroidTest và connectedReleaseAndroidTest), nó sẽ thực hiện các bài kiểm tra trên bản dựng đó.

+0

Vui lòng kiểm tra câu trả lời cập nhật của tôi. – Shailesh

Trả lời

2

Tôi không chắc chắn nhưng điều này có hiệu quả đối với tôi hay không. Nếu bạn muốn thực thi mã theo biến xây dựng (gỡ lỗi và phát hành) trong ứng dụng thì bạn có thể thực hiện bằng cách sử dụng mã sau đây.

Đây là tệp Hoạt động java.

public void printMessage() 
{ 
    if (BuildConfig.DEBUG) 
    { 
     //App is in debug mode 
    } 
    else 
    { 
     //App is released 
    } 
} 

Nếu bạn muốn đăng ký build.gradle thì hãy làm theo mã sau.

cách Đầu tiên

buildTypes { 
    debug { 
     buildConfigField "String", "SERVER_URL", '"http://test.this-is-so-fake.com"' 
    } 

    release { 
     buildConfigField "String", "SERVER_URL", '"http://prod.this-is-so-fake.com"' 
    } 

    mezzanine.initWith(buildTypes.release) 

    mezzanine { 
     buildConfigField "String", "SERVER_URL", '"http://stage.this-is-so-fake.com"' 
    } 
} 

cách thứ hai

android { 
    testBuildType obtainTestBuildType() 
} 

def obtainTestBuildType() { 
    def result = "debug"; 

    if (project.hasProperty("testBuildType")) { 
     result = project.getProperties().get("testBuildType") 
    } 

    result 
} 

Đối với chi tiết xin vui lòng kiểm tra this, thisthis stackoverflow câu trả lời.

Tôi hy vọng bạn sẽ nhận được giải pháp của mình.

+0

nhưng tôi muốn kiểm tra trong tập tin gradle, không phải trong mã java. Tôi đã kiểm tra liên kết đó nhưng không làm việc cho các tác vụ này. –

+0

Cảm ơn sự giúp đỡ của bạn. Tìm thấy giải pháp từ http://stackoverflow.com/questions/21754713/android-gradle-task-connectedinstrumenttest-for-release-build –

+0

niềm vui của tôi – Shailesh

Các vấn đề liên quan