buildToolsVersion
を 26.x.x へバージョンアップしたら出た。
* What went wrong:
A problem occurred configuring root project 'ypkit'.
> Could not resolve all files for configuration ':classpath'.
> Could not find com.android.tools.build:gradle:3.0.1.
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom
https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.jar
Required by:
project :
プロジェクトのbuild.gradle
の buildscript
に google()
を追加。
buildscript {
repositories {
...
// You need to add the following repository to download the
// new plugin.
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha5'
}
}
Android Plugin for Gradle 3.0.0 への移行 | Android Studio
例えば以下のような @RreactMethod
があったとして
@ReactMethod
public void crypt(String str, Long key, Promise promise) {
String scrambledStr = Scramble.crypt(str, key);
promise.resolve(scrambledStr);
}
js からクソデカ整数を引数に渡したい時に Long で受け取ろうとすると起きる。
@ReactMethod
でサポートされている型は以下の通り
java | js |
---|---|
Boolean | Bool |
Integer | Number |
Double | Number |
Float | Number |
String | String |
Callback | function |
ReadableMap | Object |
ReadableArray | Array |
よって
- Long は使えない。
- クソデカ整数は Double で渡される
@ReactMethod
public void crypt(String str, double doubleKey, Promise promise) {
long key = (long) doubleKey;
String scrambledStr = Scramble.crypt(str, key);
promise.resolve(scrambledStr);
}
double で