unity游戏开发之打包apk谷歌上架报错总结
推荐阅读:
设置了转屏方式不生效
AS工程导出apk时,screenOrientation设置了portrait,如下介绍,竖屏显示
实际打包出来的apk,却能旋转,在入口脚本处添加代码如下:
@Override
public void setRequestedOrientation(int requestedOrientation){
return;
}
找不到依赖库报错
报错如下:
解决方式:选中lib下面的所有.jar库,执行 add as library
执行后会自动在build.gradle脚本中获取jar库
TD 报错
报错截图如下:
如果代码中有关于TD,也就是talking data的代码,需要注释重新出包即可。
AS报错
在中添加如下代码:
buildTypes {
debug {
minifyEnabled false
}
release {
minifyEnabled false
}
}
il2cpp,cpu 'arm64-v8a'报错
在下列文件Assets\Pokemon\ToLua\Lua\tolua.lua中添加
jit.off()
C#中的新增方法或修改方法名,不能调用问题
在C#中,如果你有新增方法或修改了方法名,如果你没有执行这个操作,那你新增或修改的方法一定会因为找不到而报错。这时候,你只需要执行以下以下操作就可以了。
点击Clear warp files后,会先执行删除操作,删除Source/Generat下所有的warp文件
删除完毕后会弹出上面的提示,点击“确定”,将在Source/Generat下生成最新的warp文件。
此版本不符合Google Play关于提供64位版本应用的规定
这是因为自 2019年8月1日起,在 Google Play 中发布的应用都必须提供 64 位版本
项目库必须支持 arm64-v8a 如果项目库中有x86 则把他删除
1.Unity构建设置中的other settings将脚本基材修改为IL2CPP;修改之后才可将ARM64打勾。ARM64是64位; X86是32位; 。一般学计算机的同学都应该知道。而IL2CPP与单声道的区别
2.如果我们有配置文件的gradle,请注意一定要添加下面一句话哦。
3.如果你完成以上步骤的话,恭喜你已经成功打包出来一个64位的apk了。但为了保险,会再次反编译或怎样再次确认一下。这个很简单将打包出来的apk文件的后缀改成.zip.
4.并用其他项目的文件进行如下文件替换
检测到此应用使用了旧版google play 结算服务
在下列文件中添加如下代码:
implementation "com.android.billingclient:billing:3.0.0"
implementation "com.android.billingclient:billing-ktx:3.0.0"
添加上面代码后,打包apk时,android studio会自动下载两个库。
Google支付时提示“无法购买您要买的商品”
Google支付时提示“无法购买您要买的商品”,你需要检查如下设置是否是对的。
1.保证 versionCode 和版本号与你上传的apk的包的一样。
2.保证后台和你传入的购买商品的 id 一致。
3. 确保你所使用的账号是在测试人员里。
4.在"APK"页面里,有一个“选择使用网址”,把这个网址给你的测试人员,让你的测试人员用他的google账号点进去,点那个“成为测试人员”(前提是你把他加进了测试人员列表),还需要把连接地址发送给测试人员,必须要测试人员点击同意参加测试才行!
5.必须在用户的Adroid设备上设置许可测试帐户。如果设备上有多个帐户,则必须使用下载应用时所用的帐户进行购
买。如果没有帐户下载过应用,则使用第一个帐户进行购买。用户可以通过展开购买对话框来确认执行购买的帐户。
★注: 第5条真的要试试,如果手机上有多余的账号,一定要删掉,刚踩坑过来!!