android 修改build.gradle 同时编译多个apk 签名和非签名


def  verCode(){
     return  Integer.valueOf( new  Date().format( 'yyyyMMdd'))
}
def  verCode2( v){
     return  Integer.valueOf(verCode()+ '0'+v)
}

android {
    compileSdkVersion  23
    buildToolsVersion  "23.0.1"

    defaultConfig {
        applicationId  "com.rnandroidsdks"
        minSdkVersion  16
        targetSdkVersion  22
        versionCode verCode()
        versionName  "1.0"
        ndk {
            abiFilters  "armeabi-v7a""x86"
        }
    }

    signingConfigs {
        release {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
        
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk  false   // If true, also generate a universal APK
            include  "armeabi-v7a""x86"
        }
    }


     // 命令  asseble[T|D|A][Release|Release2] asseble[渠道首字母大写][类型首字母大写] 
     // 同时编译三个渠道两个类型共6个apk 
     // cd android && ./gradlew assembleRelease && ./gradlew assembleRelease2
     // 筛选编译4个apk 
     // cd android && ./gradlew assembleRelease && ./gradlew assembleARelease2

     // 类型 
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile( "proguard-android.txt"),  "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
        release2 {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile( "proguard-android.txt"),  "proguard-rules.pro"
        }
    }

    // 渠道
    productFlavors {

        t {
            applicationId  "com.rnandroidsdks.t"
            versionCode verCode2( '0')
            resValue  "string""app_name""销售t"
        }
        d {
            applicationId  "com.rnandroidsdks.d"
            versionCode verCode2( '1')
            resValue  "string""app_name""销售d"
        }
        a {
            applicationId  "com.rnandroidsdks"
            versionCode verCode()
            resValue  "string""app_name""销售"
        }

    }
     // applicationVariants are e.g. debug, release
    applicationVariants.all {  variant ->
        variant.outputs.each {  output ->
             // For each separate APK per architecture, set a unique version code as described here:
             // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
             def versionCodes = [ "armeabi-v7a": 1"x86": 2]
             def abi = output.getFilter( OutputFile.ABI)

             def outputFile = output.outputFile
             def today =  new  Date().format( 'yyyyMMdd-HH-mm/')

             // def today2 = new Date().format('yyyyMMdd')
             // defaultConfig.versionCode = Integer.valueOf(new Date().format('yyyyMMdd'))


             if (outputFile !=  null && outputFile.name.endsWith( 'apk')) {
                 def ver =  "" + defaultConfig.versionName
        
                 def versionDot =  'v' + ver
                 def fileNameoldre = outputFile.name.replace( 'app'"销售_${versionDot}")
                fileNameoldre = fileNameoldre.replace( 'release', 'r')
                fileNameoldre = fileNameoldre.replace( 'debug', 'd')
                output.outputFile =  new  File(outputFile.parent, fileNameoldre)
            }

             if (abi !=  null) {   // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) *  1048576 + defaultConfig.versionCode
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你想要写一个 Android 的应用程序 (APK),你需要具备一定的编程基础,并掌握使用 Android 开发工具,例如 Android Studio。 1. 安装 Android Studio。 2. 新建一个 Android 项目。 3. 设计应用程序的用户界面 (UI)。 4. 编写代码来实现应用程序的功能。 5. 测试应用程序。 6. 打包应用程序为 APK 文件。 7. 将 APK 安装到手机或模拟器上进行测试。 8. 将 APK 发布到应用商店或直接分发给用户。 在开始写代码之前,建议先了解 Android 的基本概念,例如 Activity、Intent、Fragment 等。也建议学习一些基本的 Java 编程知识,因为 Android 的应用程序是使用 Java 编写的。 ### 回答2: 编写一个Android APK需要使用Java或Kotlin编程语言,并使用Android Studio作为开发工具。以下是一个简单的例子来演示如何编写一个Android APK: 首先,你需要创建一个新的Android项目并配置好所需的权限和依赖项。然后,在项目的MainActivity类中,你可以编写应用的主要功能。 在onCreate方法中,你可以设置应用的布局,创建必要的视图和按钮,并设置点击事件。例如,你可以创建一个按钮,并为其设置一个点击监听器。 在点击监听器中,你可以编写一些代码来执行特定的功能。例如,你可以在按钮点击时显示一个简单的Toast消息。 此外,你还可以编写其他功能,如网络请求、数据存储、调用其他应用程序等。这些功能可以在MainActivity类或其他辅助类中实现。 最后,你需要构建并打包应用。通过Android Studio的Build选项可以生成APK文件。你可以将该APK文件安装到Android设备或模拟器上进行测试。 总结起来,编写一个Android APK涉及创建Android项目、编写功能代码、设置布局和视图、使用事件监听器、打包APK等步骤。这只是一个简单的例子,实际上你可以根据自己的需求和时间进行更复杂的开发。 ### 回答3: 编写一个Android APKAndroid Application Package)需要一定的编程知识和技能。下面是一个简单的示例,展示如何编写一个最基本的Android APK: 1. 首先,在电脑上安装Java开发工具包(JDK),然后安装一个集成开发环境(IDE),例如Android Studio。 2. 打开Android Studio,选择创建一个新的项目。 3. 在项目设置中选择一个适合的应用程序名称和包名称。 4. 创建一个新的活动(Activity),该活动将作为应用程序的入口点。 5. 在活动的布局文件中设计应用程序的用户界面(如按钮、文本框等)。 6. 在活动的Java文件中编写代码,实现应用程序的逻辑。例如,当用户点击按钮时,执行一个特定的操作。 7. 使用安卓的Manifest文件配置应用程序的权限和其他应用程序相关的设置。 8. 调试应用程序,确保它在模拟器或真实设备上正常运行。 9. 构建APK文件,这是一个已经打包和编译的应用程序文件。 10. 将APK文件安装到Android设备上进行测试和使用。 以上只是一个简单的示例,一个真正的Android APK可能会有更多的功能和复杂性。编写一个Android APK需要深入了解Java编程语言、Android开发框架和与设备交互的各种API。因此,对于初学者来说,从简单的应用程序开始,并参考一些教程和指南是常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值