productFlavors 사용법
app gradle 설정
빨간 부분이 추가 된 부분입니다.
android {
compileSdkVersion 27
defaultConfig {
applicationId "home.com.productflavor"
minSdkVersion 17
targetSdkVersion 27
flavorDimensions "default"
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors{
dev {
applicationId "home.com.productflavor.dev"
}
real {
applicationId "home.com.productflavor.real"
}
}
}
dependencies {..........
}
프로젝트네비게이션 구조
저기 dev는 java가 파랑색인데 왜 real java는 그렇지 않은가 궁금할텐데
그건 build variants 를 real로 설정하나 dev로 설정하나에 따라서 달라진다
소스는 단순하다
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(this,Cons.data,Toast.LENGTH_SHORT).show();
TextView tv = findViewById(R.id.location);
tv.setText(R.string.location);
}
}
real Cons.java
public class Cons {
public static final String data="222";
}
real strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="location">real</string>
</resources>
dev Cons.java
public class Cons {
public static final String data="111";
}
dev strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="location">dev</string>
</resources>
이렇게 두면 build Variant 가 real로 세팅되면 real이 표시되고 dev로 세팅되면 dev로 텍스트 뷰에 표시가 된다 .
프로젝트
'안드로이드' 카테고리의 다른 글
volley 라이브러리 한글 깨짐 해결방법 (0) | 2018.06.12 |
---|---|
sqlcipher (0) | 2015.09.23 |
안드로이드 앱 업데이트 할 때 바로가기 아이콘 지워지는 경우[homescreen icon disappear on application update] (0) | 2015.04.10 |
FLAG_ACTIVITY_REORDER_TO_FRONT 백그라운드 이동 (0) | 2015.04.03 |
웹뷰 껌뻑임 현상 (0) | 2015.03.30 |