diff --git a/android/build.gradle b/android/build.gradle index 9e91b2a..e6c1af4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,6 @@ // The Android Gradle Plugin builds the native code with the Android NDK. -group = "com.example.readability" +group = "bio.kat.readability" version = "1.0" buildscript { @@ -26,31 +26,16 @@ apply plugin: "com.android.library" android { if (project.android.hasProperty("namespace")) { - namespace = "com.example.readability" + namespace = "bio.kat.readability" } // Bumping the plugin compileSdk version requires all clients of this plugin // to bump the version in their app. compileSdk = 34 - // Use the NDK version - // declared in /android/app/build.gradle file of the Flutter project. - // Replace it with a version number if this plugin requires a specific NDK version. - // (e.g. ndkVersion "23.1.7779620") - ndkVersion = android.ndkVersion - - // Invoke the shared CMake build with the Android Gradle Plugin. - externalNativeBuild { - cmake { - path = "../src/CMakeLists.txt" - - // The default CMake version for the Android Gradle Plugin is 3.10.2. - // https://developer.android.com/studio/projects/install-ndk#vanilla_cmake - // - // The Flutter tooling requires that developers have CMake 3.10 or later - // installed. You should not increase this version, as doing so will cause - // the plugin to fail to compile for some customers of the plugin. - // version "3.10.2" + sourceSets { + main { + jniLibs.srcDirs = ["src/main/jniLibs"] } } diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index af739f9..11aa24f 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,3 +1,3 @@ + package="bio.kat.readability"> diff --git a/android/src/main/jniLibs/arm64-v8a/libreadability.h b/android/src/main/jniLibs/arm64-v8a/libreadability.h new file mode 100644 index 0000000..59a13eb --- /dev/null +++ b/android/src/main/jniLibs/arm64-v8a/libreadability.h @@ -0,0 +1,103 @@ +/* Code generated by cmd/cgo; DO NOT EDIT. */ + +/* package command-line-arguments */ + + +#line 1 "cgo-builtin-export-prolog" + +#include + +#ifndef GO_CGO_EXPORT_PROLOGUE_H +#define GO_CGO_EXPORT_PROLOGUE_H + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef struct { const char *p; ptrdiff_t n; } _GoString_; +#endif + +#endif + +/* Start of preamble from import "C" comments. */ + + +#line 3 "main.go" + +#include + +typedef struct { + char* title; + char* author; + int length; + char* excerpt; + char* site_name; + char* image_url; + char* favicon_url; + char* content; // HTML content + char* text_content; // text content + char* language; + char* published_time; + char* err; + int success; +} CArticle; + +#line 1 "cgo-generated-wrapper" + + +/* End of preamble from import "C" comments. */ + + +/* Start of boilerplate cgo prologue. */ +#line 1 "cgo-gcc-export-header-prolog" + +#ifndef GO_CGO_PROLOGUE_H +#define GO_CGO_PROLOGUE_H + +typedef signed char GoInt8; +typedef unsigned char GoUint8; +typedef short GoInt16; +typedef unsigned short GoUint16; +typedef int GoInt32; +typedef unsigned int GoUint32; +typedef long long GoInt64; +typedef unsigned long long GoUint64; +typedef GoInt64 GoInt; +typedef GoUint64 GoUint; +typedef size_t GoUintptr; +typedef float GoFloat32; +typedef double GoFloat64; +#ifdef _MSC_VER +#include +typedef _Fcomplex GoComplex64; +typedef _Dcomplex GoComplex128; +#else +typedef float _Complex GoComplex64; +typedef double _Complex GoComplex128; +#endif + +/* + static assertion to make sure the file is being used on architecture + at least with matching size of GoInt. +*/ +typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1]; + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef _GoString_ GoString; +#endif +typedef void *GoMap; +typedef void *GoChan; +typedef struct { void *t; void *v; } GoInterface; +typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; + +#endif + +/* End of boilerplate cgo prologue. */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern CArticle Parse(char* url); +extern void FreeArticle(CArticle article); + +#ifdef __cplusplus +} +#endif diff --git a/android/src/main/jniLibs/arm64-v8a/libreadability.so b/android/src/main/jniLibs/arm64-v8a/libreadability.so new file mode 100644 index 0000000..ca6e4a5 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libreadability.so differ diff --git a/android/src/main/jniLibs/armeabi-v7a/libreadability.h b/android/src/main/jniLibs/armeabi-v7a/libreadability.h new file mode 100644 index 0000000..4db8aba --- /dev/null +++ b/android/src/main/jniLibs/armeabi-v7a/libreadability.h @@ -0,0 +1,103 @@ +/* Code generated by cmd/cgo; DO NOT EDIT. */ + +/* package command-line-arguments */ + + +#line 1 "cgo-builtin-export-prolog" + +#include + +#ifndef GO_CGO_EXPORT_PROLOGUE_H +#define GO_CGO_EXPORT_PROLOGUE_H + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef struct { const char *p; ptrdiff_t n; } _GoString_; +#endif + +#endif + +/* Start of preamble from import "C" comments. */ + + +#line 3 "main.go" + +#include + +typedef struct { + char* title; + char* author; + int length; + char* excerpt; + char* site_name; + char* image_url; + char* favicon_url; + char* content; // HTML content + char* text_content; // text content + char* language; + char* published_time; + char* err; + int success; +} CArticle; + +#line 1 "cgo-generated-wrapper" + + +/* End of preamble from import "C" comments. */ + + +/* Start of boilerplate cgo prologue. */ +#line 1 "cgo-gcc-export-header-prolog" + +#ifndef GO_CGO_PROLOGUE_H +#define GO_CGO_PROLOGUE_H + +typedef signed char GoInt8; +typedef unsigned char GoUint8; +typedef short GoInt16; +typedef unsigned short GoUint16; +typedef int GoInt32; +typedef unsigned int GoUint32; +typedef long long GoInt64; +typedef unsigned long long GoUint64; +typedef GoInt32 GoInt; +typedef GoUint32 GoUint; +typedef size_t GoUintptr; +typedef float GoFloat32; +typedef double GoFloat64; +#ifdef _MSC_VER +#include +typedef _Fcomplex GoComplex64; +typedef _Dcomplex GoComplex128; +#else +typedef float _Complex GoComplex64; +typedef double _Complex GoComplex128; +#endif + +/* + static assertion to make sure the file is being used on architecture + at least with matching size of GoInt. +*/ +typedef char _check_for_32_bit_pointer_matching_GoInt[sizeof(void*)==32/8 ? 1:-1]; + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef _GoString_ GoString; +#endif +typedef void *GoMap; +typedef void *GoChan; +typedef struct { void *t; void *v; } GoInterface; +typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; + +#endif + +/* End of boilerplate cgo prologue. */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern CArticle Parse(char* url); +extern void FreeArticle(CArticle article); + +#ifdef __cplusplus +} +#endif diff --git a/android/src/main/jniLibs/armeabi-v7a/libreadability.so b/android/src/main/jniLibs/armeabi-v7a/libreadability.so new file mode 100644 index 0000000..068ea1c Binary files /dev/null and b/android/src/main/jniLibs/armeabi-v7a/libreadability.so differ diff --git a/android/src/main/jniLibs/x86/libreadability.h b/android/src/main/jniLibs/x86/libreadability.h new file mode 100644 index 0000000..4db8aba --- /dev/null +++ b/android/src/main/jniLibs/x86/libreadability.h @@ -0,0 +1,103 @@ +/* Code generated by cmd/cgo; DO NOT EDIT. */ + +/* package command-line-arguments */ + + +#line 1 "cgo-builtin-export-prolog" + +#include + +#ifndef GO_CGO_EXPORT_PROLOGUE_H +#define GO_CGO_EXPORT_PROLOGUE_H + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef struct { const char *p; ptrdiff_t n; } _GoString_; +#endif + +#endif + +/* Start of preamble from import "C" comments. */ + + +#line 3 "main.go" + +#include + +typedef struct { + char* title; + char* author; + int length; + char* excerpt; + char* site_name; + char* image_url; + char* favicon_url; + char* content; // HTML content + char* text_content; // text content + char* language; + char* published_time; + char* err; + int success; +} CArticle; + +#line 1 "cgo-generated-wrapper" + + +/* End of preamble from import "C" comments. */ + + +/* Start of boilerplate cgo prologue. */ +#line 1 "cgo-gcc-export-header-prolog" + +#ifndef GO_CGO_PROLOGUE_H +#define GO_CGO_PROLOGUE_H + +typedef signed char GoInt8; +typedef unsigned char GoUint8; +typedef short GoInt16; +typedef unsigned short GoUint16; +typedef int GoInt32; +typedef unsigned int GoUint32; +typedef long long GoInt64; +typedef unsigned long long GoUint64; +typedef GoInt32 GoInt; +typedef GoUint32 GoUint; +typedef size_t GoUintptr; +typedef float GoFloat32; +typedef double GoFloat64; +#ifdef _MSC_VER +#include +typedef _Fcomplex GoComplex64; +typedef _Dcomplex GoComplex128; +#else +typedef float _Complex GoComplex64; +typedef double _Complex GoComplex128; +#endif + +/* + static assertion to make sure the file is being used on architecture + at least with matching size of GoInt. +*/ +typedef char _check_for_32_bit_pointer_matching_GoInt[sizeof(void*)==32/8 ? 1:-1]; + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef _GoString_ GoString; +#endif +typedef void *GoMap; +typedef void *GoChan; +typedef struct { void *t; void *v; } GoInterface; +typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; + +#endif + +/* End of boilerplate cgo prologue. */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern CArticle Parse(char* url); +extern void FreeArticle(CArticle article); + +#ifdef __cplusplus +} +#endif diff --git a/android/src/main/jniLibs/x86/libreadability.so b/android/src/main/jniLibs/x86/libreadability.so new file mode 100644 index 0000000..6510990 Binary files /dev/null and b/android/src/main/jniLibs/x86/libreadability.so differ diff --git a/android/src/main/jniLibs/x86_64/libreadability.h b/android/src/main/jniLibs/x86_64/libreadability.h new file mode 100644 index 0000000..59a13eb --- /dev/null +++ b/android/src/main/jniLibs/x86_64/libreadability.h @@ -0,0 +1,103 @@ +/* Code generated by cmd/cgo; DO NOT EDIT. */ + +/* package command-line-arguments */ + + +#line 1 "cgo-builtin-export-prolog" + +#include + +#ifndef GO_CGO_EXPORT_PROLOGUE_H +#define GO_CGO_EXPORT_PROLOGUE_H + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef struct { const char *p; ptrdiff_t n; } _GoString_; +#endif + +#endif + +/* Start of preamble from import "C" comments. */ + + +#line 3 "main.go" + +#include + +typedef struct { + char* title; + char* author; + int length; + char* excerpt; + char* site_name; + char* image_url; + char* favicon_url; + char* content; // HTML content + char* text_content; // text content + char* language; + char* published_time; + char* err; + int success; +} CArticle; + +#line 1 "cgo-generated-wrapper" + + +/* End of preamble from import "C" comments. */ + + +/* Start of boilerplate cgo prologue. */ +#line 1 "cgo-gcc-export-header-prolog" + +#ifndef GO_CGO_PROLOGUE_H +#define GO_CGO_PROLOGUE_H + +typedef signed char GoInt8; +typedef unsigned char GoUint8; +typedef short GoInt16; +typedef unsigned short GoUint16; +typedef int GoInt32; +typedef unsigned int GoUint32; +typedef long long GoInt64; +typedef unsigned long long GoUint64; +typedef GoInt64 GoInt; +typedef GoUint64 GoUint; +typedef size_t GoUintptr; +typedef float GoFloat32; +typedef double GoFloat64; +#ifdef _MSC_VER +#include +typedef _Fcomplex GoComplex64; +typedef _Dcomplex GoComplex128; +#else +typedef float _Complex GoComplex64; +typedef double _Complex GoComplex128; +#endif + +/* + static assertion to make sure the file is being used on architecture + at least with matching size of GoInt. +*/ +typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1]; + +#ifndef GO_CGO_GOSTRING_TYPEDEF +typedef _GoString_ GoString; +#endif +typedef void *GoMap; +typedef void *GoChan; +typedef struct { void *t; void *v; } GoInterface; +typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; + +#endif + +/* End of boilerplate cgo prologue. */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern CArticle Parse(char* url); +extern void FreeArticle(CArticle article); + +#ifdef __cplusplus +} +#endif diff --git a/android/src/main/jniLibs/x86_64/libreadability.so b/android/src/main/jniLibs/x86_64/libreadability.so new file mode 100644 index 0000000..77ea750 Binary files /dev/null and b/android/src/main/jniLibs/x86_64/libreadability.so differ