|
1 |
| -# android-dts-generator |
| 1 | +# Android d.ts Generator |
2 | 2 | A tool that generates TypeScript declaration files (.d.ts) from Jars
|
3 | 3 |
|
4 | 4 | > Because there are certain incompatibilities between Java and TypeScript, definitions MAY NOT always be completely accurate. They will however compile and provide auto complete feature inside a modern text editor supporting typings.
|
5 | 5 |
|
6 |
| -### Quirks |
| 6 | +## Quirks |
7 | 7 | - Interfaces are represented by classes, this will allow you to extend them by using the `new` syntax, as well as show you all its members that need to be implemented
|
8 | 8 | - Classes from the package `java.util.function` don't have their typings generated, as `function` is a reserved keyword in TypeScript and JavaScript
|
9 | 9 | - Classes returning values of Type in the package `java.util.function` will return `any` instead
|
10 | 10 | - Classes using methods with parameters of Type in the package `java.util.function` will take `any` instead
|
11 | 11 | - Classes implementing `java.util.Iterator`, `android.animation.TypeEvaluator`, `java.lang.Comparable` do not implement those interfaces in the generated definitions for compatibility-related issues
|
12 | 12 |
|
13 | 13 |
|
14 |
| -### Generate definitons for Android SDK |
| 14 | +## Prerequisites |
| 15 | +- [Gradle](https://docs.gradle.org/current/userguide/gradle_wrapper.html) |
| 16 | +- Built gradle wrapper. [Read more](https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:adding_wrapper) |
| 17 | + |
| 18 | + |
| 19 | +Generate definitions following any of the approaches described below. Once you have run any of commands, you can find the generated typings in `dts-generator\out` directory. |
| 20 | +## Generate definitons for Android SDK |
15 | 21 | ```shell
|
16 | 22 | cd dts-generator
|
17 | 23 | gradlew jar
|
18 | 24 | java -jar build\libs\dts-generator.jar -input %ANDROID_HOME%\platforms\android-<Platform Level (21/22/23/24)>\android.jar
|
19 | 25 | ```
|
20 | 26 |
|
21 |
| -### Generate definitions for any Jar |
| 27 | +## Generate definitions for any Jar |
22 | 28 | ```shell
|
23 | 29 | cd dts-generator
|
24 | 30 | gradlew jar
|
25 | 31 | java -jar build\libs\dts-generator.jar -input <Path to your Jar>
|
26 | 32 | ```
|
27 | 33 |
|
28 |
| -### Pass multiple jars to generator |
| 34 | +## Pass multiple jars to generator |
29 | 35 | ```shell
|
30 | 36 | cd dts-generator
|
31 | 37 | gradlew jar
|
32 | 38 | java -jar build\libs\dts-generator.jar -input <jar1> <jar2> <jar3>
|
33 | 39 | ```
|
34 | 40 |
|
35 |
| -### Generate definitions for .aar |
| 41 | +## Generate definitions for .aar |
36 | 42 | ```
|
37 | 43 | Open the .aar archive
|
38 | 44 | Extract the classes.jar and any dependencies it may have inside libs/
|
39 | 45 | Rename classes.jar if necessary
|
40 | 46 | ```
|
41 | 47 | ```shell
|
42 |
| -java - jar build\libs\dts-generator.jar -input classes.jar dependency-of-classes-jar.jar |
43 |
| -``` |
| 48 | +java -jar build\libs\dts-generator.jar -input classes.jar dependency-of-classes-jar.jar |
| 49 | +``` |
0 commit comments