Moved to android-runtime repo
nativescript / android-metadata-generator Goto Github PK
View Code? Open in Web Editor NEWContains the source for metadata generation in Android Runtime
Contains the source for metadata generation in Android Runtime
Moved to android-runtime repo
In Java it is possible to call public method of non-public base class. Here is an example:
class Base {
public void method1() {
}
}
public class Derived extends Base {
public void method2() {
}
}
...
Derived d = new Derived();
d.method1();
d.method2();
Currently the metadata generator doesn't generate metadata for Base.method1
.
I am creating a plugin for android from SKMaps library http://developer.skobbler.com/getting-started/android, but only get the following error in all classes during tns build android:
isMetadataGenerationNecessary
:buildMetadata
Skip com.skobbler.ngx.SKCategories$SKPOICategory
Error: java.lang.VerifyError: Expecting a stackmap frame at branch target 36
Exception Details:
Location:
com/skobbler/ngx/SKCategories$SKPOICategory.forInt(I)Lcom/skobbler/ngx/SKCategories$SKPOICategory;@11: if_icmpge
Reason:
Expected stackmap frame at this location.
Bytecode:
0x0000000: b802 2f59 4cbe 3d03 3e1d 1ca2 0019 2b1d
0x0000010: 3259 3a04 b402 2b1a a000 0619 04b0 8403
0x0000020: 01a7 ffe8 b202 21b0
This is my plugin include.grade
Copy from NativeScript/android#236
The following constant:
android.provider.ContactsContract.SyncColumns.ACCOUNT_TYPE
has no metadata generated for it because the declaring interface is protected
. We should enable this scenario and process protected interface in our metadata-generator
tool.
Additionally, the better approach would be to attach all such constants to the implementing type directly, much like this is done in Android. Otherwise code that is available in the internet will not work with our Runtime and we will have to explain this explicitly.
Problem:
Currently the metadata-generator can only use path to directory with jars to generate metadata.
This creates the need for all necessary jars to be copied in one directory (which can create additional problems if only some of the jars need to be included or some jars should be deleted at build time).
Suggestion:
A more elegant solution will be for the metadata-generator to accept as input parameters, paths to all jars.
Hi, what license is this project under? I don't see any license file in the repo.
For example, do not generate metadata for method1
because it is public but not callable (Class2
is not publicly exposed).
public class Class1 {
pubilc method1(Class2.Class3 class3) {
}
}
class Class2 {
public class Class3 {
}
}
The generate-metadata
script is bash based which prevents it to run on Windows environments that don't have bash.
It should be possible to convert this simple script to a node based script.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.