VirtualAPK icon indicating copy to clipboard operation
VirtualAPK copied to clipboard

java.lang.NoSuchMethodException

Open dbof10 opened this issue 6 years ago • 3 comments

I get an compile error

[INFO][VAHostPlugin] Used compileClasspath: debug

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.NoSuchMethodException: No similar method computeBuildMapping with params [class org.gradle.invocation.DefaultGradle_Decorated] could be found on type class com.android.build.gradle.internal.ide.ModelBuilder.

with a plain new project

    implementation 'androidx.core:core-ktx:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.didi.virtualapk:core:0.9.8'

I'm using AS 3.4

dbof10 avatar May 11 '19 15:05 dbof10

Try building in release instead of debug.

# build host
cd VirtualAPK
./gradlew clean assembleRelease
adb install app/build/outputs/apk/release/app-release.apk

# build plugin
cd PluginDemo
./gradlew clean assemblePlugin
adb push app/build/outputs/apk/app-beijing-release-unsigned.apk /sdcard/Test.apk

BeQuietLee avatar May 15 '19 02:05 BeQuietLee

android gradle plugin api has changed. VirtualApk uses api 3.0.0, some api does not exist in api 3.4

ZongwenSun avatar Jun 30 '19 14:06 ZongwenSun

the code in PrepareDependenciesHooker.groovy

ImmutableMap<String, String> buildMapping = Reflect.on('com.android.build.gradle.internal.ide.ModelBuilder') .call('computeBuildMapping', project.gradle) .get()

should be replaced by

ImmutableMap<String, String> buildMapping = BuildMappingUtils.computeBuildMapping(project.getGradle())

ZongwenSun avatar Jun 30 '19 14:06 ZongwenSun