Android打包1
文件准备
打包机想要打安卓包,就需要建一个安卓版的工程。
我们首先进入我们存放Unity工程的文件夹,然后在其中新建ResLoadPrg_Android文件夹,进入此文件夹,使用TortoiseSVN——Checkout拉取工程。
使用UnityHub打开ResLoadPrg_Android,进入Unity将工程转换为安卓。转换完成后可以先尝试打一个安卓标准包。
Jenkins新建Android构建
我们模仿PC构建的过程,新建Android构建。
“新建item”——命名为“ResLoadPrg_Android”、Freestyle Project。
General
描述:ResLoadPrg Android打包
勾选“Discard Old Builds”,保持构建的天数:30,保持构建的最大个数:30
勾选“this project is parameterized”
String Parameter
名称:WorkPath
默认值:
E:\UnityProjects\ResLoadPrg_Android
描述:工作目录
String Parameter
名称:Version
默认值:0.1
描述:版本号
String Parameter
名称:Build
默认值:0
描述:Build次数
String Parameter
名称:Name
默认值:ResLoadPrg
描述:打包出来的工程名
Boolean Parameter
名称:MulRendering
默认值:true
描述:多线程渲染
Boolean Parameter
名称:IL2CPP
默认值:false
描述:IL2CPP
Boolean Parameter
名称:Debug
默认值:false
描述:是否是Debug模式,如果是则打开Profile调试
Choice Parameter
名称:Place
默认值:
None
Xiaomi
Bilibili
Huawei
Meizu
Weixin描述:不同渠道
打开“高级”——勾选“使用自定义工作空间”:E:\UnityProjects\ResLoadPrg_Android
、“显示名称”:ResLoadPrg_Android
Build Steps
增加构建步骤——Execute Windows batch command
1 | svn cleanup %WorkPath% |
增加构建步骤——Invoke Unity3D Editor
Unity3D installation name: 2021.3.22
Editor command line arguments:
1 -projectpath %WorkPath% -quit -batchmode -executeMethod BuildApp.BuildAndroid Place=$Place Version=$Version Name=$Name Build=$Build MulRendering=$MulRendering IL2CPP=$IL2CPP Debug=$Debug -logFile "E:\unityAndroidJenkins.txt"
打出来的安卓apk就是已经压缩好的,所以不需要调用压缩工具
构建后操作
选择archive the artifacts:
1 | BuildTarget\Android\*.apk |
Unity配置安卓keystore
新版Unity提供了安卓keystore生成工具,不用再自己使用命令行生成keystore了。
进入Unity,Edit——Project Settings——Player——选择安卓标签——下拉到Publishing Settings,点击“Keystore Manager”。
在弹出的窗口中点击“Keystore——Create New——Anywhere”,这样会把生成的keystore保存在ResLoadPrg_Android工程文件夹下,输入名称为“android.keystore”
接下来就需要填写keystore的内容,填写完成后Unity会自动应用到项目中,具体填写内容参考下面“使用java命令行生成密钥的方法(可选)”即可,几乎是一样的
工程文件夹下的
android.keystore
的密钥库需要上传到SVN
使用java命令行生成密钥的方法(可选)
命令行里输入
1 | C:\Users\atao\Desktop> keytool -genkey -alias resloadprg.keystore -keyalg RSA -validity 36500 -keystore android.keystore |
在真实的输入中,
输入密钥库口令:
和再次输入新口令:
里面的口令是隐藏的我们生成的
android.keystore
是一个主密钥库,里面的resloadprg.keystore
是游戏对应的“别称”密钥,所以最后有一个输入 <resloadprg.keystore> 的密钥口令
的环节,如果直接回车,则游戏的密钥和主密钥的口令(也就是密码)一致。
这样在桌面就生成了一个叫做android.keystore
的密钥库。
将这个密钥库拷贝到ResLoadPrg_Android文件夹下,进入Unity,Edit——Project Settings——Player——选择安卓标签——下拉到Publishing Settings,勾选“Custom Keystore”。
工程文件夹下的
android.keystore
的密钥库需要上传到SVN
点击Select——Browse,选择ResLoadPrg_Android文件夹下的android.keystore
,然后输入password:ataoandroid
在下面Project Key中的Alias——选择resloadprg.keystore
,然后输入password:ataoandroid
注意
keystore的密码不会在Unity编辑器下保存,每次打包需要输入
我们可以每次打包时直接在代码中进行设置:
修改BuildApp
中的Build
方法
1 | [ ] |