Since what gradle version is the gradle daemon a thing? - android-studio

I'm writing my thesis and I would like to know since what version of gradle have they added the daemon to drastically reduce the build times?

I found the answer on the official Gradle website. The daemon was added in version 1.0 and was enabled by default since version 3.0.

Related

What does the Android Studio delegateBuildRunToGradle do?

I'm trying to resolve some dependency issues when using an externally installed Gradle, rather than the one that come with Android Studio (AS). I then came across the particular AS setting under
File > Settings > Build,Execution,Deployment > Build Tools > Gradle > Runner.
[x] Delegate IDE build/run actions to Gradle
This is apparently also available as the Gradle config delegateBuildRunToGradle. But I can't find any sane explanation as to what it does. I thought all AS builds used Gradle...
While the Gradle doc page say it's on by default. This was not the case for my AS 3.2.2.
What does this option do?
(When should it be used?)
I was hoping to have a more precise answer, but since nothing has come forward here, I guess the only answer is that (what is written in the screenshot above) the IntelliJ IDEA has it's own way to make the builds. For many practical purposes it is probably better to have a more updated and working Gradle installation and enable the above option, to let it do its job.

Can I generate an unsigned APK using dexguard?

My question is quite simple but it seems I cannot find the answer on the web and since dexGuard does not have a trial period I cannot test it myself.
Can I generate an unsigend apk obfuscated/encrypted with dexguard in Android Studio. I've been told that is not possible because the signature is used during the obfuscation/encryption process but I feel like I'm missing something.
I would like to know if I can obtain the same result I obtain with "assemble release" gradle task with proguard enabled but using dexguard instead for a better protection.
Thank you for your help
Dexguard is a better version than Proguard so it has all the functionalities that has its little brother. From the Dexguard docs:
The procedure for building Android applications and libraries remains
the same. You can invoke gradle with the usual targets, such as
assemble, build, install, and connectedInstrumentTest. For instance,
to build the release version of your application and install it on a
connected device:
gradle installRelease
To build the release version of a library:
gradle assembleRelease
Debug builds use debug settings, without
optimization or obfuscation. Release builds use release settings, with
full optimization and obfuscation. Applications can optionally be
signed. The entries in application archives are always zip-aligned for
efficiency.
Additionally you can use the Standalone version which makes DexGuard run from the command line. By using this you can post-process an existing Android application (.apk file).
I only use Dexguard to obfuscate a Library in Standalone mode but I am pretty sure it will work.

How to build the native Android sources from Codename One's build server

I'm using the new gradle build switch when sending an Android build for Codename One. One of the highlighted benefits of building with gradle is the ability to open/run in Android Studio and indeed the project opens for me but I'm getting the following error:
Error:Unable to load class
'org.codehaus.groovy.runtime.StringGroovyMethods'. Possible causes for
this unexpected error include:Gradle's dependency cache may be
corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires
network)The state of a Gradle build process (daemon) may
be corrupt. Stopping all Gradle daemons may solve this problem. Stop Gradle build processes (requires
restart)Your project may be using a third-party plugin
which is not compatible with the other plugins in the project or the
version of Gradle requested by the project.In the case of
corrupt Gradle processes, you can also try closing the IDE and then
killing all Java processes.
I restarted the process, the IDE and did quite a few things with no real success.
I had the exact same issue and corresponded with Codename One support a while back and it turns out the solution is rather simple:
Define your own installation of gradle as the one to use, this is what Chen from CodenameOne sent to me as a reference:
I installed gradle 2.8 and configured it as such in the settings and that almost worked. I also had to follow the instructions of Android Studio - supplied javaHome is not a valid folder & even After update of AS to 1.0, getting "method ID not in [0, 0xffff]: 65536" error in project despite the fact that multi-sex was not necessary in the server?

How do I incorporate robolectric into an existing Android Studio project?

The android ecosystem, particularly Android Studio, has been changing a lot over the last year or so. I've found many sets of instructions for incorporating robolectric into a project, written at many points during that period. And I haven't yet made one work on my project.
Which commands do I need to add to my app build.gradle?
Which commands do I need to add to my project build.gradle?
Do I need to use Junit 4 in order to use robolectric?
Are there other libraries needed? What versions?
Do my tests need to be in src/test rather than src/androidTest?
What other information do I need?
I'm using:
Android Studio 1.1.0
gradle 1.1.0
junit 4.12
hamcrest-library 1.3
mockito-core 1.10.19
dexmaker 1.0
dexmaker-mockito 1.0
I suppose that you expect to run tests from Android Studio in addition to be able run them from command line only.
I think the most up to date example of usage Robolectric with latest android gradle plugin is this.
One note: I see dependencies to dexmaker and dexmaker-mockito that gives me assumption that you use Instrumental tests instead of plain junit tests.
It is quite dumb answer with just reference but I can not be more specific until you have specific issue

Building Hibernate 3.2.0 on Linux OS 64 bit

I need to build the jars for Hibernate 3.2.0 but I am having trouble finding directions. I am trying to follow along in the tutorial but it is wanting me to create classes and other files, is that really necessary just to compile the jars? I need to compile on a 64 bit Linux CentOS machine.
Also the directions in the tutorial are for 3.5 or 3.6 and they say to use maven but when I downloaded the source it came with a build.xml file, so am I supposed to use ant? and when I try ant it tells me I am missing antl/tools.
I am a brand new intern and I am just trying to figure this out so I can do what is asked of me. Any help would be greatly apprecited.
Thank You in advance.
For branch 3.2, you'll just need to run the run.sh (Linux) or run.bat (Windows). It should be enough. But keep in mind that 3.2 is an old branch. If you are developing a new application, consider using a newer version (3.6, for instance).
Binaries for Hibernate 3.2 can be downloaded from their SourceForge project page. Hibernate distributions typically contain hibernate3.jar, dependent jars, reference manuals and source files. The jars can be used on any JVM with version higher than 1.5 (or 1.4, I don't remember precisely) available on 64-bit CentOS.

Resources