Unity 升级 iap 到4.12.0 打包问题
升级之后打包会有很多报错
类似这样
Duplicate class android.support.v4.app.INotificationSideChannel
S
t
u
b
f
o
u
n
d
i
n
m
o
d
u
l
e
s
a
n
d
r
o
i
d
x
.
c
o
r
e
.
c
o
r
e
−
1.2.0
−
r
u
n
t
i
m
e
.
j
a
r
:
)
a
n
d
r
o
i
d
x
.
c
o
r
e
.
c
o
r
e
−
1.2.0
:
)
a
n
d
c
o
r
e
−
1.5.0
−
r
u
n
t
i
m
e
.
j
a
r
(
a
n
d
r
o
i
d
x
.
c
o
r
e
:
c
o
r
e
:
1.5.0
)
D
u
p
l
i
c
a
t
e
c
l
a
s
s
a
n
d
r
o
i
d
.
s
u
p
p
o
r
t
.
v
4.
a
p
p
.
I
N
o
t
i
f
i
c
a
t
i
o
n
S
i
d
e
C
h
a
n
n
e
l
Stub found in modules androidx.core.core-1.2.0-runtime.jar :)androidx.core.core-1.2.0:) and core-1.5.0-runtime.jar (androidx.core:core:1.5.0) Duplicate class android.support.v4.app.INotificationSideChannel
Stubfoundinmodulesandroidx.core.core−1.2.0−runtime.jar:)androidx.core.core−1.2.0:)andcore−1.5.0−runtime.jar(androidx.core:core:1.5.0)Duplicateclassandroid.support.v4.app.INotificationSideChannelStub$Proxy found in modules androidx.core.core-1.2.0-runtime.jar :)androidx.core.core-1.2.😇 and core-1.5.0-runtime.jar (androidx.core:core:1.5.0)
在网上查了大量资料后发现 并没有比较靠谱的说法
经过查阅大量资料和不断地尝试 解决了升级后的打包问题
unity 版本2022.2.23f1c1
In App Purchasing unity 版本 4.12.0 billing版本 6.2.1
版本下载
https://docs.unity3d.com/Packages/com.unity.purchasing@4.12/changelog/CHANGELOG.html#4120—2024-06-04
保证iap在低版本的时候你的包就可以正常build 在这个前提下 去升级到4.12.0 使用 EDM4U 将合适的aar包导入到unity中 移除掉不用的aar
接下来我们在unity 的 Asset/Editor 文件夹下 创建一个cs文件 OnPreprocessBuild
打包设置官方文档描述
SessionState . SetBool (“SelfDeclaredAndroidDependenciesDisabled:com.unity.purchasing”,true );
加入这句 保存
在创建一个xml文件 UnityIAPDependencies.xml
<dependencies>
<androidPackages>
<androidPackage spec="androidx.activity:activity-compose:1.3.1">
<repositories>
<repository> https://maven.google.com/ </repository>
</repositories>
</androidPackage>
<androidPackage spec="com.android.billingclient:billing:6.2.1">
<repositories>
<repository> https://maven.google.com/ </repository>
</repositories>
</androidPackage>
</androidPackages>
</dependencies>
保存 就可以正常打包了
注意:这个只是个临时解决方案,还需要测试iap支付是否存在问题,最后牵扯到支付问题,希望大家还是等官方出了最新的unity版本解决稳定之后再去做修改