1.引用项目的libs目录下的jar,arr文件
implementation fileTree(include:['*.jar'], dir:'libs')
implementation fileTree(include:['*.aar'], dir:'libs')
2.Android Gradle plugin 与 Gradle
Android Gradle plugin是Gradle的Android插件,需要使用指定版本的Gradle。
查看build.gradle使用的Android Gradle plugin版本:
查看对应使用的Gradle Veriosn:
缓存的路径在
C:\Users\Admin\.gradle\wrapper\dists\gradle-6.1.1-all\cfmwm155h49vnt3hynmlrsdst\gradle-6.1.1
对应Unity也有一个baseProjectTemplate.gradle文件.
然后打包设置对应Geadle位置
修改Unity的Cache缓存位置
C盘不够用了,这个方法帮我节省了C盘10多个G的空间:
https://blog.csdn.net/baidu_39447417/article/details/117829765
在Unity项目中也可以直接在gradle文件中使用implementation导入库了
Android代码压缩工具R8
R8 一步到位地完成了所有的缩减(shrinking),去糖(desugaring)和 转换成 Dalvik 字节码(dexing )过程。
R8 和当前的代码缩减解决方案 Proguard 相比,R8 可以更快地缩减代码,同时改善输出大小。
打包报错:
解决办法一:
使用gradle回退到3.4.0
解决办法二:
添加Custom Gradle Properies Template ,注释掉android.enableR8这行即可。(通过添加 # 注释)
解析一个aar失败
只能采用手动集成方式,将下载好的aar放入Android的Plugin文件夹下。
gradle报错
> Task :launcher:preBuild UP-TO-DATE
> Task :unityLibrary:preBuild UP-TO-DATE
1.引用的github开源项目,module之间有冲突的jar(主要是v4 v7包冲突版本不同)
2.提示类似错误,可能是mainfist配置的activity,服务等信息有重复添加
3.res下的xml里有错误,复制来的布局中引用了其自定义的布局。或者引用的图片
**4.还有一种原因就是上次打包有缓存重复了,需要关闭Unity重新打开再打包
解决办法:
把项目中的jar包全部删除,重新一个一个添加排查
接入穿山甲过程
1.修改appid,广告id,应用Sha1,包名等
2.修改AndroidMainifest的APplicaion,添加权限,Product;添加xml等
3.编写代码
接入穿山甲FAQ
1.Android端下载apk提示“下载失败”
当targetSdkVersion=29时,谷歌临时允许使用老版本的权限来解决储存分区问题。需要在application子节中添加android:requestLegacyExternalStorage ="true" 。如非必要,建议开发者targetSdkVersion<29 。
2.没有展示数据的原因?或者平台上的展示数据为0?
调试的时候数据是没有的,另外如果开发者应用本身不是多进程,或者没有在多进程场景下使用广告,那么一定不要打开多进程开关,否则可能导致没有展示回调的问题。
3.视频加载成功,但播放时黑屏或者加载图片白屏?
让游戏里可以使用http请求
<application android:usesCleartextTraffic="true">
4.适配9.0以上的机器
在游戏中出现java.lang.ClassNotFoundException: Didn't find class "org.apache.http.message.BasicLineParser" on path。这是因为Apache HttpClient改库已经倍删除。要继续使用 Apache HTTP 客户端,以 Android 9 及更高版本为目标的应用可以向其 AndroidManifest.xml 添加以下内容:
注意:这个要放在application的节点下面
<uses-library android:name="org.apache.http.legacy" android:required="false" />
5.渲染异常,分两种情况
偶现SDK返回出现渲染异常提示,根据提示,使用的就是该账号下下载的SDK,版本是4.1.0.2,为什么还会出现这个返回?
工单回复:
您好, 40025检查一下测试设备的时间/时区设置是否有误,当前显示是否为北京时间