Jack and Jill and destinationDir - android-jack-and-jill

Google has officially released Jack & Jill as mentioned on their blog .
But if I use the following property :
defaultConfig {
applicationId 'xxx'
minSdkVersion 10
targetSdkVersion 19
versionCode 162
versionName 'xxx'
// Enabling multidex support.
multiDexEnabled true
testInstrumentationRunner "android.support.multidex.MultiDexTestRunner"
manifestPlaceholders = [ cappId:"xxx",cappLog:"false" ]
useJack = true
}
I get the following error
Error:Cannot get property 'destinationDir' on null object
I have no problem if I comment use Jack property
I know it's an experimental tool but do you know how can I fix that ?

Are you using retro-lambda, dagger2 or any other annotation processing library? In that case you need to manually specify the processor.
See this thread: https://github.com/evant/gradle-retrolambda/issues/71

Related

Unable to connect Netapp (8.1.4P1 7-Mode) with jdk1.8.0_181

We have below security configuration at storage side (8.1.4P1 7-Mode)
Configurations
tls.enable on
ssl.enable on
ssl.v2.enable off
ssl.v3.enable off
We tried to access storage using NetApp Manageability SDK 5.7 and it is working fine with jdk1.8.0_161.
We upgrade JDK to jdk1.8.0_181 and then we are not able to access it, Its throwing Exception
`2018-08-03 05:06:27,071 [Thread-1469] app-ERROR-javax.net.ssl.SSLException: Connection has been shutdown: `javax.net.ssl.SSLHandshakeException`: Received fatal alert: handshake_failure at` `sun.security.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1551)`
at sun.security.ssl.AppInputStream.read(AppInputStream.java:95)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:71)
at netapp.manage.http.HTTPMessage.readLine(HTTPMessage.java:245)
at netapp.manage.http.HTTPResponse.read(HTTPResponse.java:74)
at netapp.manage.http.HTTPClient.doRequest(HTTPClient.java:772)
at netapp.manage.NaServer.invokeHTTP(NaServer.java:955)
As per release notes of jdk "jdk1.8.0_181", JDK 181 disabled "3DES cipher suites".
Is there any way to fix it from NetApp side ?
While not an answer to the direct question of how to solve this from the NetApp side, the problem can be overcome on the application side by removing "3DES_EDE_CBC" from the jdk.tls.disabledAlgorithms security property at runtime. Something like:
final String JDK_TLS_DISABLED_ALGORITHMS = "jdk.tls.disabledAlgorithms";
final String TRIPLE_DES_EDE_CBC = "3DES_EDE_CBC";
final String disabledAlgorithms = Splitter.on(',').trimResults()
.splitToList(Security.getProperty(JDK_TLS_DISABLED_ALGORITHMS)).stream()
.filter(algo -> !algo.equals(TRIPLE_DES_EDE_CBC)).collect(joining(", "));
Security.setProperty(JDK_TLS_DISABLED_ALGORITHMS, disabledAlgorithms);

AndroidStudio 3.0: Java 8 stream not compile (Call requires API level 24)

Java 8, and I install new Android Studio 3.0.
Add code:
List<String> myList = Arrays.asList("a1", "a2", "b1", "c2", "c1");
myList
.stream()
.filter(s -> s.startsWith("c"))
.map(String::toUpperCase)
.sorted()
.forEach(System.out::println);
But I get compile error:
Call requires API level 24 (current min is 15) java.util.stream.Collection
In order to use Streams and other java 8 API without requiring minimum API level 24, you need to do the following:
Upgrade Android Gradle Plugin to 4.0.0 or higher
classpath 'com.android.tools.build:gradle:4.0.0
Then add this dependency to your build.gradle file:
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.6'
....
}
Finally Add this to your build.gradle file:
compileOptions {
// Flag to enable support for new language APIs
coreLibraryDesugaringEnabled true
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
Enjoy Java 8 Streams and Time APIs :)
While there is a bunch of Java 1.8 support in Android Studio 3.0 (lambdas, method references, default interface methods), not all of 1.8 is supported for all Android APIs. In particular, java.util.stream is not supported until API 24.
See the developer docs: https://developer.android.com/studio/write/java8-support.html#supported_features
A good library to get backported Java 1.8 libraries such as java.util.stream is StreamSupport: https://github.com/streamsupport/streamsupport

Neo4j: Traversal is depreactaed in the new version 3.0.1

I am updating to the latest version of neo4j 3.0.1. However, the Traversal pathExpanderForAllTypes method is deprecated and I got errors. I couldn't find the equivalent method which can be used with 3.0.1.
import org.neo4j.kernel.Traversal;
PathExpander<Object> expander = Traversal.pathExpanderForAllTypes(Reldir);
If you look to a previous version Javadoc about neo4j, you will see that this method, along with most of the class has been deprecated.
But you can also see that there are some hints in the code in order to overcome this issue:
Returns a org.neo4j.graphdb.PathExpander which expands relationships
of all types in the given direction.
Deprecated: See
org.neo4j.graphdb.PathExpanders.forDirection(org.neo4j.graphdb.Direction)
Returns: a path expander which expands all relationships in the given
direction.
360
361 #Deprecated
362 #SuppressWarnings( "unchecked" )
363 public static <STATE> PathExpander<STATE> More ...pathExpanderForAllTypes( Direction direction )
364 {
365 return StandardExpander.create( direction );
366 }
So I reccommend you to check the method: org.neo4j.graphdb.PathExpanders.forDirection(Direction) , or one of the others provided by the PathExpanders class.

Android Studio Opencv - face detection sample

I'm student. I used Android Studio in new version, because I wanted to compile the face detection sample of Opencv library.
At first problem, I didn't resolve the ndk path.
Show that error:
Error:Execution failed for task
':openCVSamplefacedetection:compileDebugNdk'.
NDK not configured. Download the NDK from http://developer.android.com/tools/sdk/ndk/.Then add
ndk.dir=path/to/ndk in local.properties. (On Windows, make sure you
escape backslashes, e.g. C:\ndk rather than C:\ndk)
so I download the ndk and add the path like this.
ndk.dir=d\:\\android-ndk-r10e
Then, the new error is showing:
Error:Execution failed for task
':openCVSamplefacedetection:compileDebugNdk'.
A problem occurred starting process 'command 'd:\android-ndk-r10e\ndk-build.cmd'
Some people say that please add the sourceset.main in build.gradle, so I add the source code.
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "org.opencv.samples.facedetect"
minSdkVersion 15
targetSdkVersion 22
ndk {
moduleName "detection_based_tracker"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile project(':openCVLibrary2410')
}
Finally built complete but my phone showed "FaceDetecter is stopped" and exit the app.
Don't you know the problem? I really don't know about Opencv's open source.
One possible solution to try it out with Task NdkCompile into your build.gradle file.
Also I do not think you need to add OPENCV as a dependency instead simply add JNI directories to configuration file as noted above (the jniLibs.srcDir is mapped to the proper location).
I know this question was asked 6 months ago, but I hope isn't late or others may find it useful for quick troubleshooting.
Best of luck.

Spectre error messages

I get the follow error messages running the
Dart Spectre example "line_primitive":
Invalid CSS property name: -webkit-touch-callout
Invalid CSS property name: flex-direction
Internal error:
'package:polymer/polymer_element.dart':
Error: line 140 pos 27: identifier 'mdv.bindModel' cannot be resolved
Timer.run(() => mdv.bindModel(root, this));
I downloaded and ran the example as is with no modifications.
Thanks
This is a known issue with the current (as of August 6th 2013) release of polymer and the SDK. The next release will include a fix for this. In the meantime you can download a nightly build http://www.dartlang.org/tools/editor/

Resources