实战fir脚本打APK包

fir打包

使用fir打包APK的命令相对简单,一般如下使用即可

fir build_apk -o ./

在运行的时候会调用gradlew脚本,然后会运行一堆的检查后再打包,这个时候就看你的代码写的是否健壮了,如果不健壮的话会报一堆的错误,按照提示一个个修改即可。

比较棘手的InvalidPackage错误

按照网上的提示,在project目录下创建lint.xml无效。上github搜索了一番,找到了答案。仔细观察gradle给出的提示,如
:app:lint
这个的意思是,他在做app命名空间下的lint操作,所以这个时候lint.xml应该添加到app目录下

顺带一提,在lintOptions中用

lintOptions { warning 'InvalidPackage' }

尝试将InvalidPackage的级别降低是无效的,查找google的官方文档也并未给出该接口,可能已经废弃掉了。

比较诡异的javadocs错误

在项目中有很多时候会用到第三方的源码,如果项目成员既用pc又用mac的话,那就有概率会出现文件编码不是utf8的问题,这个时候可以在gradle文件里面找到

task androidJavadocs

在里面添加

failOnError false

绕过这个问题

关于签名

用惯AS的同学,签名可能是通过AS管理的,这样新建项目时,并不会把codesign写进gradle里面,这样CI平台打出来的包实际上是无签名的包,比较不方便。如果要添加对APK进行签名,可以在gradle文件里面显式写上,或者通过工具签名。个人认为显式写上签名的信息问题不大,毕竟还需要配合key签名文件才能生成合法的签名

gradle文件

// 创建一个证书,并配置 
signingConfigs { 
  release { storeFile file("app_release.jks") 
    storePassword "n7yJipUzL3XQ" 
    keyAlias "coding" 
    keyPassword "n7yJipUzL3XQ" 
  } 
} 

buildTypes { 
  release { 
    ...
   //需要使用正式证书签名,才能发布到fir.im 
    signingConfig signingConfigs.release 
  } 
}

参考资料
http://stackoverflow.com/questions/16184109/using-twitter4j-in-android-getting-lint-error-in-library-invalid-package-refe
http://stackoverflow.com/questions/21827004/gradle-dagger-lint-ignore-by-package
https://github.com/chrisbanes/gradle-mvn-push/issues/9
http://www.jianshu.com/p/30472053dd3c
https://segmentfault.com/a/1190000004537110

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,811评论 25 709
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 14,170评论 8 72
  • 先生发了月饷,揣了紧往家赶。瞅见街上的柿子正好,给夫人捎上几只。行不多远,一小伙提醒先生口袋翻了,惊诧,浑身搜遍,...
    贱金属阅读 1,605评论 0 0
  • 智力是成才的基础,智力好的人要占些优势,卓越的人有与众不同的智力,比马云还拼的人多,但马云的领导力不是一个“勤奋”...
    问学行者阅读 1,176评论 0 0
  • 过去心不可得,现在心不可得,未来心不可得,随心而去吧,看,能得否? 凌晨的风细细碎碎的刮着,染着特别 像薄纱裙拖着...
    情予阅读 1,378评论 0 0