多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### Build文件配置 每个Module都有一个build.gradle文件,App都需要到build.gradle中去配置。 build文件路径示例:...\yuanfengBBC\app\build.gradle。其中“IMDemo”为项目根目录,“app”为Module目录名,一般默认为“app”。 * 打包签名配置 Build文件中配置打包时需要的签名文件“yuanfeng.jks”,yuanfeng.jks的文件路径为...\ImDemo\app\yuanfeng.jks ~~~ signingConfigs { release { keyAlias '123456' keyPassword '123456' storeFile file('yuanfeng.jks') storePassword '123456' } } ~~~ * 项目版本信息 版本配置一般在项目创建的时候会自动根据开发环境生成,一般不需要修改。 ~~~ compileSdkVersion 23 buildToolsVersion '25.0.0' defaultConfig { applicationId "com.yuanfengbbc.shop" minSdkVersion 16 targetSdkVersion 21 versionCode 2 versionName "3.1.3" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" sourceSets { main { jniLibs.srcDirs = ['libs'] java.srcDirs = ['src/main/java'] } } } ~~~ compileSdkVersion:App基于SDK版本号; buildToolsVersion:build工具包版本; applicationId:App唯一标示,默认与包名packageName一致; minSdkVersion:App支持运行最低Sdk版本号,即最低支持在Android系统什么版本下运行; versionCode:App版本号,代表App升级了多少次,每次升级的时候数值+1; versionName:App版本名字,显示在应用商店和手机App应用信息位置。 * compiler导包 开发过程中,我们会集成第三方SDK,在这里需要compiler一下包的地址,例如集成支付,分享等功能。 ~~~ dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.android.support:recyclerview-v7:23.3.0' compile 'com.android.support:support-v4:23.3.0' compile 'com.android.support:design:23.3.0'//版本随意(非必须,引用可以解决无法预览问题) testCompile 'junit:junit:4.12' //ImageLoader加载图片 compile files('libs/universal-image-loader-1.9.5.jar') compile 'com.github.lovetuzitong:MultiImageSelector:1.2' compile 'top.zibin:Luban:1.1.2' //okHttp compile 'com.squareup.okhttp:okhttp-urlconnection:1.6.0' //网络请求 compile files('libs/httpmime-4.1.2.jar') compile files('libs/httpclient-4.3.6.jar') compile files('libs/httpcore-4.3.3.jar') //下拉刷新 compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.3' //支付宝 compile files('libs/alipaySingle-20170510.jar') //BASE64Decoder compile files('libs/sun.misc.BASE64Decoder.jar') //友盟分享 compile files('libs/umeng_social_api.jar') compile files('libs/SocialSDK_WeiXin_Full.jar') compile files('libs/SocialSDK_Sina_Simplify.jar') compile files('libs/mta-sdk-1.6.2.jar') compile 'com.zhy:autolayout:1.4.5' //OkHttp网络请求框架 compile 'com.squareup.okhttp:okhttp:2.4.0' compile 'com.squareup.okio:okio:1.5.0' compile 'com.zhy:okhttputils:2.0.0' //fastJson框架 compile 'com.alibaba:fastjson:1.2.22' compile 'com.google.code.gson:gson:2.6.2' //banner轮播图 compile 'cn.bingoogolapple:bga-banner:2.1.7@aar' compile 'com.tencent.bugly:crashreport:latest.release' compile 'com.tencent.bugly:nativecrashreport:latest.release' compile 'com.bigkoo:convenientbanner:2.0.5' //微信支付 compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+' compile 'cn.finalteam.rxgalleryfinal:library:1.0.1' //butterknife annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' compile 'com.jakewharton:butterknife:8.5.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' //EventBus事件 compile 'org.greenrobot:eventbus:3.0.0' //标签控件 compile 'com.github.donkingliang:LabelsView:1.2.0' } ~~~ * 指定打包后应用名称 可以设置打包后生成的文件名,默认设置为项目名+版本名称 ~~~ //指定打包后应用名称 applicationVariants.all { variant -> variant.outputs.all { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { def fileName = outputFile.name.replace(".apk", "远丰商城_${defaultConfig.versionName}.apk") outputFileName = fileName } } } ~~~ * 打包报MissingTranslation 打包时有可能会出现MissingTranslation错误导致Build Failed! ~~~ lintOptions { abortOnError false checkReleaseBuilds false // 防止在发布的时候出现因MissingTranslation导致Build Failed! disable 'MissingTranslation' } ~~~