Status Update
Comments
am...@google.com <am...@google.com>
je...@google.com <je...@google.com> #2
are you trying the override Android Manifest values with Gradle properties in your root gradle.properties file ?
I don't think we ever supported this. can you describe your use case ?
hm...@google.com <hm...@google.com> #3
I tested with the given project and adding android.injected.testOnly=false removed
android:testOnly="true"
from the merged manifest. Between step 3 and 4, can you make sure you clean your project and/or cached stuff.
And the reason you get that added to your manifest in the first place is because your compileSdk is set to a preview sdk (UpsideDownCake)
my...@gmail.com <my...@gmail.com> #4
Yes, but it used to work even if I set compileSdkPreview. Maybe for Android 11 preview? It is no longer working now.
hm...@google.com <hm...@google.com> #5
I tested with your project above and android.injected.testOnly=false is working as expected. Can you make sure to clean your build and your caches?
hm...@google.com <hm...@google.com> #7
Do you mind trying out with AGP version 8.1.0-alpha01 or above with android.injected.testOnly=false set? Do you still get testOnly in the manifest?
my...@gmail.com <my...@gmail.com> #8
> Task :mobile:bundleFreedomReleaseResources
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jetbrains.kotlin.kapt3.util.ModuleManipulationUtilsKt (file:~/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-annotation-processing-gradle/1.8.10/ad05a4188f984f89630571206974f0cf52d7ab8f/kotlin-annotation-processing-gradle-1.8.10.jar) to constructor com.sun.tools.javac.util.Context()
WARNING: Please consider reporting this to the maintainers of org.jetbrains.kotlin.kapt3.util.ModuleManipulationUtilsKt
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
> Task :mobile:kaptFreedomReleaseKotlin FAILED
error: cannot generate view binders java.lang.UnsupportedClassVersionError: android/databinding/parser/BindingExpressionBaseVisitor has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at android.databinding.tool.ExpressionParser.<init>(ExpressionParser.java:50)
at android.databinding.tool.LayoutBinder.<init>(LayoutBinder.java:80)
at android.databinding.tool.DataBinder.<init>(DataBinder.java:61)
at android.databinding.tool.CompilerChef.ensureDataBinder(CompilerChef.java:118)
at android.databinding.tool.CompilerChef.sealModels(CompilerChef.java:370)
at android.databinding.annotationprocessor.ProcessExpressions.writeResourceBundle(ProcessExpressions.java:245)
at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:125)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:246)
at android.databinding.annotationprocessor.ProcessDataBinding.doProcess(ProcessDataBinding.java:112)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:87)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor.process(incrementalProcessors.kt:90)
at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.process(annotationProcessing.kt:197)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:985)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:901)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1227)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1340)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1254)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:90)
at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:31)
at org.jetbrains.kotlin.kapt3.base.Kapt.kapt(Kapt.kt:47)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jetbrains.kotlin.gradle.internal.KaptExecution.run(KaptWithoutKotlincTask.kt:310)
at org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction.execute(KaptWithoutKotlincTask.kt:256)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:49)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:43)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:43)
at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:49)
at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:30)
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:87)
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:56)
at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:138)
at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':mobile:kaptFreedomReleaseKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
my...@gmail.com <my...@gmail.com> #9
+ Options
| Auto-detection: Enabled
| Auto-download: Enabled
+ JetBrains s.r.o. JDK 17.0.6+0-17.0.6b802.4-9586694
| Location: ~/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-2/223.8617.56.2231.9687552/jbr
| Language Version: 17
| Vendor: JetBrains s.r.o.
| Architecture: amd64
| Is JDK: true
| Detected by: Current JVM
+ Ubuntu JDK 11.0.18+10-post-Ubuntu-0ubuntu122.04
| Location: /usr/lib/jvm/java-11-openjdk-amd64
| Language Version: 11
| Vendor: Ubuntu
| Architecture: amd64
| Is JDK: true
| Detected by: Common Linux Locations
+ Invalid toolchains
+ /usr/lib/jvm/openjdk-11
| Error: A problem occurred starting process 'command '/usr/lib/jvm/openjdk-11/bin/java''
| Caused by: Could not start '/usr/lib/jvm/openjdk-11/bin/java'
| Caused by: Cannot run program "/usr/lib/jvm/openjdk-11/bin/java" (in directory "~/.gradle/.tmp/tmp-jvm8641738032536202238probe"): error=2, No such file or directory
| Caused by: error=2, No such file or directory
hm...@google.com <hm...@google.com> #10
Yes, you will have to switch your jvmToolchain to use JDK 17 for that.
Even with this error do you see ../VPNHotspot/mobile/build/intermediates/merged_manifest/freedomDebug/AndroidManifest.xml file? Does the contents contain testOnly?
hm...@google.com <hm...@google.com> #11
Managed to find the problem - the android.injected.testOnly flag was being ignored.
The problem is fixed in AGP 8.1.0-alpha01 and above. And the fix will end up in AGP 8.0.0 stable release as well.
my...@gmail.com <my...@gmail.com> #12
Even with this error do you see ../VPNHotspot/mobile/build/intermediates/merged_manifest/freedomDebug/AndroidManifest.xml file? Does the contents contain testOnly?
Yes?
my...@gmail.com <my...@gmail.com> #13
Using the procedure you mentioned, I still see testOnly in merged manifest as of 8.1.0-alpha08.
my...@gmail.com <my...@gmail.com> #14
I even manually installed openjdk-17 and switched to it using Project Structures dialog. Both bugs remain.
my...@gmail.com <my...@gmail.com> #15
Updating buildToolsVersion to 34.0.0-rc2 did not help either.
hm...@google.com <hm...@google.com> #16
Can you upload the changes to a branch that i can pull down and test. In my testing, after running gradlew clean build
, I do not see any testOnly flags set in manifest files.
VPNHotspot$ cat mobile/build/intermediates/merged_manifest/freedomDebug/AndroidManifest.xml | grep testOnly
VPNHotspot$ cat mobile/build/intermediates/merged_manifest/freedomRelease/AndroidManifest.xml | grep testOnly
VPNHotspot$ cat mobile/build/intermediates/merged_manifest/googleDebug/AndroidManifest.xml | grep testOnly
VPNHotspot$ cat mobile/build/intermediates/merged_manifest/googleRelease/AndroidManifest.xml | grep testOnly
I am running with AGP 8.1.0-alpha08
and android.injected.testOnly=false
set in gradle.properties
my...@gmail.com <my...@gmail.com> #17
The task I was testing was :mobile:assembleFreedomRelease but same issues (both occurring) for :mobile:assembleFreedomDebug too.
hm...@google.com <hm...@google.com> #18
android.injected.testOnly=false seems to be missing from your gradle.propeties?
my...@gmail.com <my...@gmail.com> #19
Still getting compilation errors though...
Description
DESCRIBE THE ISSUE IN DETAIL: Setting android.injected.testOnly=false does not prevent the android:testOnly="true" from being added.
STEPS TO REPRODUCE:
ATTACH SCREENSHOTS/RECORDINGS OF THE ISSUE
ATTACH LOG FILES (Select Help > Show Log in Files, or Show Log in Finder on a Mac)
IMPORTANT: Please readhttps://developer.android.com/studio/report-bugs.html carefully and supply
all required information.
Studio Build: Flamingo beta 4 Version of Gradle Plugin: See attached code repo Version of Gradle: See attached code repo Version of Java: 17 OS: Ubuntu