Android Studio 다 중 채널 패키지 설정 방법
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>(1)AndroidManifest.xml 에 동적 채널 변 수 를 설정 합 니 다.
<meta-data
  android:name="UMENG_CHANNEL"
  android:value="${UMENG_CHANNEL_VALUE}" />여기 서 우리 가 포장 해 야 할 경 로 는 360,좁쌀,바 이 두,완두콩 꼬투리 라 고 가정 한다.
android { 
  productFlavors {
    xiaomi {
      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
    }
    qh360 {
      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
    }
    baidu {
      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
    }
    wandoujia {
      manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
    }
  } 
}
android { 
  productFlavors {
    xiaomi {}
    qh360 {}
    baidu {}
    wandoujia {}
  } 
  productFlavors.all { 
    flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
  }
}(3)포장 작업 수행
AndroidStudio 메뉴 표시 줄 에서 Build 메뉴 C>Generate signed APK>key 를 클릭 하고 비밀 번 호 를 입력 하 십시오.
 
 그리고 다음 단 계 는 포장 경 로 를 선택 합 니 다.
 
 마지막 으로 완성 단 추 를 누 르 면 우 리 는 다섯 개의 채널 을 성공 적 으로 잘 싸 웠 다.
(4)포장 명령 을 실행 합 니 다./gradlew assembleRelease
AndroidStudio 그래 픽 포장 작업 을 사용 하 는 것 외 에 도 명령 행 을 사용 하여 포장 작업 을 할 수 있 습 니 다.구체 적 인 절 차 는 다음 과 같 습 니 다.
signingConfigs {
    release{
      storeFile file("../wooyun_keystore") //      
      storePassword "your password"
      keyAlias "your alias"
      keyPassword "your password" //    
    }
  }이번에 생 성 된 것 은 서명 이 들 어 있 는 채널 패키지 입 니 다.
우리 의 채널 패키지 버 전이 비교적 많 을 때,APK 패키지 이름 을 사용자 정의 하여 구분 할 수 있 습 니 다.
//        ,      APK   1.0
      applicationVariants.all { variant ->
        variant.outputs.each { output ->
          def outputFile = output.outputFile
          if (outputFile != null && outputFile.name.endsWith('.apk')) {
            //   apk   frank_v1.0_wandoujia.apk
            def fileName = "frank_v${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
            output.outputFile = new File(outputFile.parent, fileName)
          }
        }
      }만약 우리 가 wandoujia 채널 의 release 버 전 을 포장 하고 싶다 면 다음 명령 을 실행 하면 됩 니 다.
gradlew assembleWandoujiaRelease만약 우리 가 wandoujia 채널 의 debug 버 전 을 포장 하고 싶다 면 다음 명령 을 실행 하면 됩 니 다.gradlew assembleWandoujiaDebug만약 우리 가 wandoujia 채널 버 전 만 친다 면:gradlew assembleWandoujia이 명령 은 wandoujia 채널 의 Release 와 Debug 버 전 을 생 성 합 니 다.마찬가지 로 나 는 모든 릴 리 스 버 전 을 치고 싶다.
gradlew assembleRelease이 명령 은 Product Flavor 의 모든 채널 의 Release 버 전 을 출력 합 니 다.다음은 제 개인
build.gradle프로필 입 니 다.참고 로 공유 하 겠 습 니 다.
apply plugin: 'com.android.application'
android {
  compileSdkVersion 23
  buildToolsVersion "23.0.2"
  defaultConfig {
    applicationId "com.frank.example"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
  }
   //  
  signingConfigs {
    debugConfig {
      storeFile file("../frank_keystore")   //    
      storePassword "your password"
      keyAlias "your alias"
      keyPassword "your password" //    
    }
    release{
      storeFile file("../wooyun_keystore")   //    
      storePassword "your password"
      keyAlias "your alias"
      keyPassword "your password" //    
    }
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      //        
      applicationVariants.all { variant ->
        variant.outputs.each { output ->
          def outputFile = output.outputFile
          if (outputFile != null && outputFile.name.endsWith('.apk')) {
            //   apk   frank_v1.0_wandoujia.apk
            def fileName = "frank_v${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
            output.outputFile = new File(outputFile.parent, fileName)
          }
        }
      }
    }
  }
  productFlavors {
    xiaomi {}
    qh360 {}
    baidu {}
    wandoujia {}
  }
  productFlavors.all {
    flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
  }
}
dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  testCompile 'junit:junit:4.12'
  compile 'com.android.support:appcompat-v7:23.3.0'
}이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.