美文网首页
cocoscreator android studio 多渠道打

cocoscreator android studio 多渠道打

作者: 啥啊_73ae | 来源:发表于2020-11-18 12:26 被阅读0次

cocoscreator src,res 需要整改

整改步骤如下
一,在app目录下创建src,新建main->java文件夹(存放代码),src->main->res(存放资源),Manifest.xml
main 文件夹是默认的variants环境
二,copy 原src 文件到app main->java 文件夹下,res copy到app->src->main->res 下。删除原来的res,src,以及Manifest.xml 文件。

三,修改app(或者标记项目名称)下的build.gradle 文件。注释掉

//    sourceSets {
...
//    }

四,添加productFlavors,在build.gradle 里添加productFlavors 模块

    productFlavors {
//        main{}
        nomal{}
        platform_4399{
            applicationId 'com.zmyfun.aqdzt.m4399'
            versionCode 2
            versionName "2.0"
        }
        vivo{
            applicationId 'com.zmyfun.aqdzt.vivo'
            versionCode 1
            versionName "1.0"
        }
    }

如不同渠道包名不同可以在productFlavors 对应的渠道里直接重写applicationId 来重置包名。
添加对应的编译环境后就可以在src里添加,参考下图


image.png

根据不同的要替换的内容来放置到对应的渠道包里

配置打包的输出路径,继续在build.gradle 里配置android.applicationVariants.all模块

android.applicationVariants.all { variant ->
    // delete previous files first
    delete "${buildDir}/intermediates/merged_assets/${variant.dirName}"

    variant.mergeAssets.doLast {
        def sourceDir = "${buildDir}/../../../../.."

        copy {
            from "${sourceDir}/assets"
            into "${outputDir}/assets"
        }

        copy {
            from "${sourceDir}/src"
            into "${outputDir}/src"
        }

        copy {
            from "${sourceDir}/jsb-adapter"
            into "${outputDir}/jsb-adapter"
        }

        copy {
            from "${sourceDir}/main.js"
            from "${sourceDir}/project.json"
            into outputDir
        }
//后加
        variant.outputs.all {
            def outputFile = outputFileName
            if (outputFile != null && outputFile.endsWith('.apk')) {
//                def dirName = outputFile.parent // 输出文件夹所在的位置

                // 文件名修改
//            def fileName = "app-${output.processResources.variantName}-${defaultConfig.versionName}-${variant.flavorName}.apk"
//                def fileName = "app-${output.processResources.variantName}-${variant.flavorName}.apk"
                def fileName = "NYTalk_" + buildType.name  + "_" + new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC")) + ".apk"
                // 比如不想这么麻烦,直接在后面加上版本号也行:
                // def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk")

//            output.outputFile = new File(dirName, fileName)
                outputFileName = fileName
            }
        }

    }

配置依赖方式

dependencies {
    implementation fileTree(dir: '../libs', include: ['*.jar','*.aar'])
    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
    implementation fileTree(dir: "/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/platform/android/java/libs", include: ['*.jar'])
    implementation project(':libcocos2dx')
//    implementation project(':lib_au4399_sdk')
//    implementation project('')
    platform_4399Implementation project(':lib_au4399_sdk')

}

xxxImplementation xxx代表渠道名称。会自动根据渠道环境来动态添加依赖

相关文章

网友评论

      本文标题:cocoscreator android studio 多渠道打

      本文链接:https://www.haomeiwen.com/subject/hirfiktx.html