VirtualAPK
VirtualAPK copied to clipboard
java.lang.NoSuchMethodException
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
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
android gradle plugin api has changed. VirtualApk uses api 3.0.0, some api does not exist in api 3.4
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())