在Github遇到过一些很有意思的项目,这些项目的开发者往往都会贴心地提供编译好的文件,但也有少数项目由于种种原因,比如大名鼎鼎的Auto.js项目,开发者只提供源码。需要手动编译,对于非计算机专业的人来说,编译这一步其实不是那么简单,所以专门记录了自己摸索如何打包Auto.js的过程,希望帮助大家。

摸索过程

一开始选择了下载源码,通过Android Studio本地打包,但是遇到了很多麻烦,咬着牙折腾到生成自己的签名文件正式开始打包,面对不停的报错的屏幕……作者不得不选择放弃,然后就选择了Github Action。

在线打包和签名

一开始参考官网提供的模板,很快就打包出了apk,可发送到手机后,提示安装包状态异常,然后直接退出安装界面。

问题在于利用官网模板生成的apk文件实际上没有进行签名,所以在这之后参考这篇手把手教你如何巧用 Github 的 Action 功能_xuexiangjys 的博客 - CSDN 博客又进行了修改,期间参考了阮一峰先生的GitHub Actions 入门教程GitHub Actions文档 - GitHub Docs关于Java的部分,又花了几个小时,摸索了大半天,最后生成的文件还是无法安装,所以又只得另寻他法。

事后想来估计是作者自己生成并上传的keystone不对,导致打包出的apk并没有成功签名。

本地给未签名的apk安装包签名_命令行

参考博客园的这篇对Android应用签名的第二种方法。

最后,总结一下以上摸索了将近2天的流程:
1.基于GitHub Action官方模板修改,注意添加上传指令和指定debug
2.在本地对下载的安装包进行签名,主要步骤参考对Android应用签名即可

附上作者自己Fork修改后的项目地址以供参考https://github.com/NoHeartPen/Auto.js