내 앱에 주문형 동적 기능 모듈을 추가하고 있는데 문제가 있습니다.
해당 기능 모듈을 설치할 때
val request = SplitInstallRequest.newBuilder()
.addModule("ondemandfeature")
.build()
splitInstallManager.startInstall(request)
다음 로그가 인쇄됩니다.
12:54:42.301/? I/PlayCore: UID: [11113] PID: [30056] SplitInstallService : startInstall([ondemandfeature],[])
12:54:42.807/? I/Finsky: [2] mvr.a(112): Installer: Request install. package=com.package.my, version=16081, mods=[ondemandfeature], priority=2, reason=SplitInstallService
12:54:43.239/? I/Finsky: [2] myc.a(325): IT: Required downloads: [..split.ondemandfeature.config.xxhdpi, ..split.ondemandfeature, ..split.ondemandfeature.config.pt]
12:54:43.263/? I/Finsky: [2] mpw.a(3): Downloading full file for com.package.my (..split.ondemandfeature.config.xxhdpi)
12:54:43.282/? I/Finsky: [2] mxo.a(2): IT: Send Resource Request for com.package.my downloadid: ..split.ondemandfeature.config.xxhdpi).
12:54:43.287/? I/Finsky: [2] mxc.a(8): IT: Sent download request for com.package.my, adid: ..split.ondemandfeature.config.xxhdpi, isid: 21FGah5gQD6I6P4uDfGY32
12:54:43.379/? D/DownloadManager: [6235] Starting {ondemandfeature feature for MyAppName} by {10058:com.android.vending}
12:54:44.296/? I/Finsky: [2] myc.a(174): IT: Prepare to copy com.package.my (adid: ..split.ondemandfeature.config.xxhdpi , isid: 21FGah5gQD6I6P4uDfGY32) from content://downloads/my_downloads/6235 (expect 17096 bytes, isCompressed: false)
12:54:44.322/? I/Finsky: [87461] dxz.doInBackground(18): com.package.my (..split.ondemandfeature.config.xxhdpi) (17096 bytes) copied successfully in 0 ms
12:54:44.329/? I/Finsky: [2] mxh.a(5): IT: Successfully copied APK to update com.package.my (adid: ..split.ondemandfeature.config.xxhdpi , isid: 21FGah5gQD6I6P4uDfGY32)
12:54:44.342/? I/Finsky: [2] mpw.a(3): Downloading full file for com.package.my (..split.ondemandfeature)
12:54:44.346/? I/Finsky: [2] mxo.a(2): IT: Send Resource Request for com.package.my downloadid: ..split.ondemandfeature).
12:54:44.350/? I/Finsky: [2] mxc.a(8): IT: Sent download request for com.package.my, adid: ..split.ondemandfeature, isid: 21FGah5gQD6I6P4uDfGY32
12:54:44.382/? D/DownloadManager: [6236] Starting {ondemandfeature feature for MyAppName} by {10058:com.android.vending}
12:54:44.920/? I/Finsky: [2] myc.a(174): IT: Prepare to copy com.package.my (adid: ..split.ondemandfeature , isid: 21FGah5gQD6I6P4uDfGY32) from content://downloads/my_downloads/6236 (expect 168472 bytes, isCompressed: false)
12:54:44.934/? I/Finsky: [87462] dxz.doInBackground(18): com.package.my (..split.ondemandfeature) (168472 bytes) copied successfully in 2 ms
12:54:44.938/? I/Finsky: [2] mxh.a(5): IT: Successfully copied APK to update com.package.my (adid: ..split.ondemandfeature , isid: 21FGah5gQD6I6P4uDfGY32)
12:54:44.949/? I/Finsky: [2] mpw.a(3): Downloading full file for com.package.my (..split.ondemandfeature.config.pt)
12:54:44.953/? I/Finsky: [2] mxo.a(2): IT: Send Resource Request for com.package.my downloadid: ..split.ondemandfeature.config.pt).
12:54:44.957/? I/Finsky: [2] mxc.a(8): IT: Sent download request for com.package.my, adid: ..split.ondemandfeature.config.pt, isid: 21FGah5gQD6I6P4uDfGY32
12:54:44.996/? D/DownloadManager: [6237] Starting {ondemandfeature feature for MyAppName} by {10058:com.android.vending}
12:54:45.425/? I/Finsky: [2] myc.a(174): IT: Prepare to copy com.package.my (adid: ..split.ondemandfeature.config.pt , isid: 21FGah5gQD6I6P4uDfGY32) from content://downloads/my_downloads/6237 (expect 12626 bytes, isCompressed: false)
12:54:45.439/? I/Finsky: [87461] dxz.doInBackground(18): com.package.my (..split.ondemandfeature.config.pt) (12626 bytes) copied successfully in 3 ms
12:54:45.450/? I/Finsky: [2] mxh.a(5): IT: Successfully copied APK to update com.package.my (adid: ..split.ondemandfeature.config.pt , isid: 21FGah5gQD6I6P4uDfGY32)
동적 기능 모듈이 성공적으로 설치되었다고 믿습니다. 하지만 설치된 모듈을 확인하려고 할 때 :
splitInstallManager.installedModules
빈 목록을 반환합니다.
내가 놓친 것이 있습니까?
추가 정보 :
다음은 로그입니다 SplitInstallStateUpdatedListener
.
// begin
PENDING (printed 4x)
DOWNLOADING (printed 14x)
INSTALLING (printed 1x)
DOWNLOADED (printed 1x)
// end
나는 또한 INSTALLING
로그 바로 뒤에 다음과 같은 것이 인쇄 되는 것을 감지했습니다 .
I/Finsky: [2] dyv.<init>(17): com.package.my is installed but certificate mismatch
무슨 뜻이에요?
추가 정보 2 :
Pixel 3XL (Android 10) 기기에서 주문형 동적 기능 모듈이 성공적으로 다운로드되고 설치됩니다.
그러나 Motorola G5 (Android 8.1) 장치에서는 주문형 동적 기능 모듈이 다운로드 만 가능하지만 설치되지는 않습니다.
추가 정보 3 :
어떤 이유로 다운로드 및 설치가 Android 10 장치에서만 작동하지만 이유를 모르겠습니다.
이 기능을 테스트하기 위해 앱 번들을 업로드 할 수 있는 내부 앱 공유 도구를 사용하고 있습니다 .
내 프로젝트의 잘못된 구성으로 인해 이러한 문제를 겪고 있다는 것을 알았습니다.
프로젝트에서 다음 항목이 올바르게 설정되었는지 확인하십시오.
SplitCompatApplication
하십시오 Application
.SplitCompat.installActivity(this)
에 Activities
그 사용 동적 기능;override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(newBase)
SplitCompat.installActivity(this)
}
자세한 내용은 https://codelabs.developers.google.com/codelabs/on-demand-dynamic-delivery/ 코드 랩을 자세히 읽어보십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다