Android 의 몇 가지 다 중 채널 포장 절차 에 대한 상세 한 설명
서로 다른 응용 시장 에서 서로 다른 통계 수요 가 있 을 수 있 기 때문에 모든 응용 시장 에 설치 패 키 지 를 발표 해 야 한다.여기 서 안 드 로 이 드 의 다 중 채널 포장 을 이 끌 어 냈 다.설치 패키지 에 서로 다른 표 지 를 추가 하여 각 경 로 를 구분 하여 app 이 시장 에서 의 각종 통 계 를 편리 하 게 통계 할 수 있 습 니 다.
2.몇 가지 포장 방식
우호 동맹 UmengAndroid Studio 자체 테이프미 단 월3、사용 시작
3.1 우 맹 Umeng
STEP 1:Android Manifest 에 추가
<meta-data
android:name="UMENG_CHANNEL"
android:value="${channel}" />
두 번 째 단계:build.gradle 에 baidu{}을 지정 한 채널 이름 으로 약자 로 추가 합 니 다.
build {
......
productFlavors {
baidu {}
xiaomi {}
qihu360 {}
yingyongbao {}
huawei {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL: name]
}
}
세 번 째 단계:출력 APK 이름 설정Android Studio 2.3 버 전:
build {
......
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = "driver_${variant.productFlavors[0].name}_v${defaultConfig.versionName}.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
Android Studio 3.0 버 전:
build {
......
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "driver_${variant.productFlavors[0].name}_v${variant.versionName}.apk"
}
}
}
Gradle 이후 다음 과 같은 오류 가 발생 하면flavor dimension 의 차원 을 설정 해 야 합 니 다.이 차원 은 모두 통 일 된 것 입 니 다.
build {
......
defaultConfig {
......
flavorDimensions "versionCode"
}
}
STEP 4:컴 파일 패키지Build-Generate Signed Bundle or APK-Release 또는 Debug 선택
3.2 Android Studio 자체
Android Studio 다 중 형태 패 키 지 는 동맹 패키지 방식 과 같 지만 태그
<meta-data
android:name="UMENG_CHANNEL" //
android:value="${channel}" />
3.3 미 단 월첫 번 째 단계:루트 build.gradle 설정
buildscript {
dependencies {
classpath 'com.mcxiaoke.packer-ng:plugin:2.0.1'
}
}
두 번 째 단계:App build.gradle 설정
apply plugin: 'packer'
dependencies {
......
implementation 'com.mcxiaoke.packer-ng:helper:2.0.1'
}
세 번 째 단계:플러그 인 설정
build {
......
packer {
archiveNameFormat = '${buildType}-v${versionName}-${channel}' // APK
archiveOutput = new File(project.rootProject.buildDir, "apks") // APK
channelFile = new File(project.rootDir, "channel.txt") //
}
}
네 번 째 단계:새 채널 설정 파일 channel.txt프로젝트 루트 디 렉 터 리 에 channel.txt 파일 을 새로 만 듭 니 다.그림 참조
파일 내용 은 채널 이름 입 니 다.요구:줄 마다 채널 이 있어 야 합 니 다.
다섯 번 째 단계:컴 파일 패키지
터미널 명령 사용:
gradlew clean apkRelease
참고 가능:[미 단 다 중 채널 공식 문서 포장](https://github.com/mcxiaoke/packer-ng-plugin)
4.채널 정보 획득
1.동맹 과 Android Studio 가 져 오 는 방법
Android Manifest 의
private String getChannel() {
try {
PackageManager pm = getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
String channel = appInfo.metaData.getString(key); // key <meta-data> name
if (!TextUtils.isEmpty(channel)) {
return channel;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
2,미 단 Walle 획득 방법미 단 통합 자체 획득 방법
private String getChannel() {
try {
PackageManager pm = getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
String channel = appInfo.metaData.getString(key); // key <meta-data> name
if (!TextUtils.isEmpty(channel)) {
return channel;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
총결산위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 안 드 로 이 드 의 몇 가지 다 중 채널 포장 절차 에 대한 상세 한 설명 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.만약 에 궁금 한 점 이 있 으 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 여러분 에 게 답 할 것 입 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.