Android使用Gradle构建的一些遇到的问题
来源:互联网 发布:诺基亚3500c软件 编辑:程序博客网 时间:2024/06/05 00:30
对于AndroidStudio下的项目结构可以参考这篇博文AndroidStudio工程结构及gradle介绍。
其中最重要的是主模块(通常是app)下的build.gradle文件,下面贴出我做过的一个项目的完整gradle文件:
apply plugin: 'com.android.application'android { compileSdkVersion 19 buildToolsVersion "21.0.2" compileOptions{ sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_7 targetCompatibility org.gradle.api.JavaVersion.VERSION_1_7 } lintOptions {//在build apk 时Android Lint产生的错误不会导致中断生成APK abortOnError false } packagingOptions { exclude 'META-INF/LICENSE.txt' } defaultConfig { applicationId "cn.llzg.plotwiki"//下面这些原本在Manifest.xml中配置的东西都转移到了这里 minSdkVersion 11 targetSdkVersion 21 versionCode 26 versionName "3.2.0" manifestPlaceholders = [ CHANNEL_NAME:"plotwiki"]//默认的渠道配置 } signingConfigs{ release{ storeFile file("plotwiki.keystore"); storePassword "plotwiki" keyAlias "plotwiki" keyPassword "plotwiki" } debug{ storeFile file("plotwiki.keystore"); storePassword "plotwiki" keyAlias "plotwiki" keyPassword "plotwiki" } } buildTypes { release { minifyEnabled false//proguard的开关 shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug{ signingConfig signingConfigs.debug } } productFlavors {//多渠道的配置,可以查看AndroidManifest.xml中的meta-data参考 yingyongbao { manifestPlaceholders = [ CHANNEL_NAME:"YINGYONGBAO"] } umeng { manifestPlaceholders = [ CHANNEL_NAME:"UMENG" ] } wandoujia { manifestPlaceholders = [ CHANNEL_NAME:"WANDOUJIA" ] } anzhuo{ manifestPlaceholders=[CHANNEL_NAME:"anzhuo"] } qihu360{ manifestPlaceholders=[CHANNEL_NAME:"360"] } xiaomi{ manifestPlaceholders=[CHANNEL_NAME:"xiaomi"] } jiuyi{ manifestPlaceholders=[CHANNEL_NAME:"91"] } }}tasks.withType(JavaCompile) { options.encoding = "UTF-8"}dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(':cropper') compile files('libs/alipaysdk.jar') compile files('libs/alipayutdid.jar') compile files('libs/alipaysecsdk.jar') compile files('libs/android-support-v4.jar') compile files('libs/jsoup-1.8.1.jar')}其中遇到的一些问题有
- .多渠道打包,这个问题可以参考这篇文章:gradle解决多渠道打包apk,我在这里用的是后一种方法,这样更容易管理
- 生成release版本的apk时总出现missingTranslation的错误导致无法生成apk,这里在android节点下加lintOption并配置好abortOnError就可以正常生成release的apk了
- 中文乱码,这个记不清当时怎么解决了,总之在加上tasks.withType那一小段指定编码肯定是不会错的
- 代码混淆,可以参考buildType节点里面的release
- jdk版本,可以在android节点下配置compileOptions来实现,我试过改为jdk1.8,然后代码里面就可以用lamda表达式之类的新特性了,但是,不知怎么回事生成apk时总报错,搜索这个问题却找不到资料最后只好做罢,希望有知道解决方案的同学能分享出自己的解决方法
0 0
- Android使用Gradle构建的一些遇到的问题
- 使用gradle来构建Spring boot时遇到的问题
- 在AndroidStudio中使用gradle构建出现的一些问题
- 使用Gradle构建Android项目的一些自定义配置
- android studio gradle和安装遇到的一些问题
- Android Studio 导入项目时Gradle遇到的一些问题
- 使用gradle编译时遇到的一些问题
- 使用Maven构建web项目遇到的一些问题
- 使用构建工具gradle打包时,遇到的中文问题和解决方案
- 使用gradle打包时遇到的问题!
- Gradle 使用Gradle构建Android应用的渠道包
- Gradle--使用gradle构建Android项目的基础知识
- Gradle中打jar包的方法,Gradle 自动化构建工具,Android Studio 中 Gradle 的使用方法,AndroidStudio使用过程中遇到的bug
- android遇到的一些问题
- 用gradle打包android_apk时遇到的一些问题
- 用gradle打包android_apk时遇到的一些问题
- gradle的一些问题
- VS 2015 Update 2 构建 Android 程序遇到的一些问题
- mysql5.6与mysql5.5不同
- UVa #12174 Shuffle (例题8-15)
- android view组件draw onDraw,dispatchDraw
- 桥接SoftAp模式下的ApClient网络
- 1039. Course List for Student (25)
- Android使用Gradle构建的一些遇到的问题
- [网站收藏] 值得一读的blog和程序员网站的收藏
- linux驱动里获取时间差
- 不同高度的图片 底部对齐方法
- UITextField的使用详解
- Linux UDP sendto error: Operation not permitted解决方法
- poj2828 Buy Tickets 单点更新线段树
- 挑选最大的n个数
- 2014年年终总结