Tencent / tinker

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Other
17.1k stars 3.33k forks source link

Could not get unknown property 'apkData' #1658

Open ysavr opened 2 years ago

ysavr commented 2 years ago

Could not get unknown property 'apkData' for ApkVariantOutputImpl_Decorated{variantOutput=VariantOutputImpl(versionCode=property(java.lang.Integer, fixed(class java.lang.Integer, 10000)), versionName=property(java.lang.String, fixed(class java.lang.String, 1.0.0-stag)), enabled=property(java.lang.Boolean, fixed(class java.lang.Boolean, true)), variantOutputConfiguration=VariantOutputConfigurationImpl(isUniversal=false, filters=[]), baseName=stag-debug, fullName=stagDebug, outputFileName=property(java.lang.String, fixed(class java.lang.String, app-stag-debug.apk)))} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

found issue failed create file in

try { from new File(packageAndroidArtifact.outputDirectory.getAsFile().get(), variant.outputs.first().apkData.outputFileName) } catch (Exception e) { from new File(packageAndroidArtifact.outputDirectory, variant.outputs.first().apkData.outputFileName) }

xtdhwl commented 2 years ago
 try {
//                                    from new File(packageAndroidArtifact.outputDirectory.getAsFile().get(), variant.outputs.first().apkData.outputFileName)
                                    from new File(packageAndroidArtifact.outputDirectory.getAsFile().get(), variant.outputs.first().outputFileName)
                                } catch (Exception e) {
//                                    from new File(packageAndroidArtifact.outputDirectory, variant.outputs.first().apkData.outputFileName)
                                    from new File(packageAndroidArtifact.outputDirectory, variant.outputs.first().outputFileName)
                                }

可以修改上面代码: println("variant.outputs.first():" + variant.outputs.first())

variant.outputs.first():ApkVariantOutputImpl_Decorated{variantOutput=VariantOutputImpl(versionCode=property(java.lang.Integer, fixed(class java.lang.Integer, 1)), versionName=property(java.lang.String, fixed(class java.lang.String, 1.0)), enabled=property(java.lang.Boolean, fixed(class java.lang.Boolean, true)), variantOutputConfiguration=VariantOutputConfigurationImpl(isUniversal=false, filters=[]), baseName=debug, fullName=debug, outputFileName=property(java.lang.String, fixed(class java.lang.String, app-debug.apk)))}