1. 程式人生 > >在android上向nodejs中新增第三方node模組

在android上向nodejs中新增第三方node模組

最近,由於學習和工作的需要,調研了一下nodejs在android編譯執行的方法以及如何將一個第三方的node模組新增到nodejs中。現在google對nodejs做了官方支援,在這裡不做討論。這篇文章將主要集中在如何解決後面一個問題上。

當我們使用nodej做開發時,有時候難免需要開發一些自己的C++模組,那麼這些模組我們該如何新增到node中並可以在android上使用呢?現在先介紹下一些大牛的思路。

由於android對系統的共享庫限制的比較嚴,所以如果是直接交叉編譯為android系統可以呼叫的node模組會很麻煩。所以

The easiest way found so far, has been to compile node-sqlite3 into Node.js as a core module. For this, you just have to copy the node-sqlite3 files into the appropriate places in the Node.js dir and make Node.js aware of the module by adding it to the node.gyp file and adding "NODE_EXT_LIST_ITEM(node_sqlite3)" to the node_extensions.h. Afterwards simply compile the whole thing and the resulting executable should be arm-v5 with node-sqlite3 built-in. Obviously, you will have to remove node-sqlite3 from your node_modules, when deploying your code on a device.

This has been tested with Android-NDK-r8e, Node.js v0.10.18 and node-sqlite3 v2.1.14.


相關推薦

androidnodejs新增第三方node模組

最近,由於學習和工作的需要,調研了一下nodejs在android編譯執行的方法以及如何將一個第三方的node模組新增到nodejs中。現在google對nodejs做了官方支援,在這裡不做討論。這篇文章將主要集中在如何解決後面一個問題上。 當我們使用nodej做開發時,有

一個類,有新增元素(add)和獲取元素數量(size)方法。 啟動兩個線程。線程1容器新增數據。線程2監聽容器元素數量,當容器元素數量為5時,線程2輸出信息並終止

override tac trace add syn countdown print import 數據 方式一: /** * 兩個線程要是可見的所以要加上votalile */public class Test_01 { public static void

C++---使用VS在C++程式設計出現 fatal error C1010: 在查詢預編譯頭時遇到意外的檔案結尾。是否忘記了新增“#include "stdafx.h"”?

啦啦啦,好久沒寫部落格啦... 對於C++初學者來說適應一個新的編譯器還是需要蠻長一段時間的,現在我就給你們說說標題所說的這個問題吧... 第一步:選單--〉專案--〉設定,出現“專案設定”對話方塊,左邊展開專案,在“原始檔”中找到出錯的檔案。 第二步:在右邊選擇“C/C++”屬性頁,在Category

.NetCore 使用AppMetricsInfluxDB新增監控資料並通過Grafana影象分析

考慮到分散式部署監控環境是所有的請求情況,所以這一塊一般在閘道器GateWay裡面加比較省事,聚合在一起的,如果放在api服務中,如果只有1個還好,一旦部署Node多是很痛苦的事情 這天需要新增的Nuget包如下: 在配置新增 { "Logging": { "LogLevel"

前端頁面使用AngularJS框架的情況下如何判斷複選框是否選中,以及集合新增和移除id

使用angularJS框架的話都需要引入angular.min.js檔案,這個想必各位大佬都懂得,我就不多說了。 這裡主要說說如何判斷複選框是否選中,以及向集合中新增和移除id。   1、如果判斷複選框被選中呢 一般我們在複選框中都是這樣寫: <td>&

陣列新增資料但length列印為0?

最近寫專案時, 遇到了一個問題, 我明明 向陣列中push了資料, 但是列印的時候為[]陣列,但是空數組裡面有一條資料,length為1, 但是打印出來length發現長度為0 看程式碼 先來看這種情況 很正常對吧, 往陣列中push一組資料, 長度為1 往下看

陣列新增一個元素

實現效果:    知識運用:   Array物件的Length屬性 int類的tryParse()方法 實現程式碼: int[] int_arr; //"隨機陣列"按鈕事件 private void button1_Click(object se

陣列新增陣列

實現效果:    實現程式碼: static void Main(string[] args) { int index; Program pro = new Program(); int[] a

IIS新增.net Framework4.0

可能在安裝.NET Framework 4.0之前,IIS就已經裝好了,結果在IIS的應用程式池中只有.NET 2.0的Classic .NET AppPool和DefaultAppPool。在使用vs2010開發的程式時,由於使用的是.NET Framework 4.0,所以部署到IIS上的時候,

python mysql 新增 資料

python 向 mysql 中新增資料 import pymysql import json #第一步:連線到mysql資料庫(ishop1資料庫) conn = pymysql.connect(h

vs錯誤描述:fatal error C1010:在查詢預編譯頭時遇到意外的檔案結尾。是否忘記了新增

錯誤描述:fatal error C1010:在查詢預編譯頭時遇到意外的檔案結尾。是否忘記了向源中新增“#include"stdafx.h"” 這個問題不一定是配置了使用預編譯頭造成的(專案-屬性-配

如何postgreSQL新增bytea型別的大物件資料

用PostgreSQL-Bytea存BlobDAta,如mdb/mp3/jpg/doc等檔案,試了好幾天,是可以存進去,可是轉出來時老是無法使用,經研究發現它的體積會自動長大,且會以3.31的比率增加。這轉出來檔當然是不能用了。而且我用BlobField.BolbSize去看資料庫中的存檔大小就是這個轉出的S

amlogic平臺android 系統linux核心新增i2c裝置實現i2c的讀寫

上一篇,我介紹瞭如何在uboot中新增i2c裝置,以及移植i2c的讀寫介面。簡單來說uboot階段使用i2c裝置和平臺關聯性比較大,但不同平臺套路是差不多的。你可以將uboot階段看作是引導androi

jsp實現仿QQ空間新建多個相簿名稱,相簿新增照片

工具:Eclipse,Oracle,smartupload.jar;語言:jsp,Java;資料儲存:Oracle。 實現功能介紹: 主要是新建相簿,可以建多個相簿,在相簿中新增多張照片,刪除照片,刪除相簿,當相簿下有照片時先刪除照片才能刪除相簿。 因為每個相簿和照片要有所

Maven新增本地jar包

          在使用Maven的過程中,經常碰到有些jar包在中央倉庫沒有的情況。如果公司有私服,那麼就把jar包安裝到私服上。如果沒有私服,那就把jar包安裝到本地Maven倉庫。今天介紹2種安裝jar包到本地Maven倉庫的方法,下面進入正題。一、使用Maven命令安裝jar包    在window

js 宣告陣列和陣列新增物件變數

陣列有四種定義的方式  使用建構函式:  var a = new Array();  var b = new Array(10);  var c = new Array("first", "second", "third");  或者陣列直接量:  var d = ["fi

form新增元件元素

困擾了我一下午,問題終於解決了.... 問題描述:用的jQuery UI的對話方塊,在裡面用到了上傳檔案這個<input type="file" name="uploadfile" id="file">,之前一直都是像綠色文字標註的那樣,form中寫個隱藏域,然

android settings.db資料庫新增一項新的設定

 Settings資料存放在com.android.providers.settings/databases/settings.db 中   資料庫中資料的預設資料在frameworks/base/packages/SettingsProvider/res/values

Android 如何在工程引用第三方專案

2.庫專案建立和使用 庫專案就是一個完整的android專案我們只需要配置一下他的lib屬性就可以了就可以作為一個lib專案來使用。步驟:右鍵需要作為lib的專案---》Properties---》android----》 Library----在isLibrary的前面勾選複選框即可。 我們在其它

ROS(14)場景新增障礙物

向場景中新增障礙物 //added at 1227 //增加障礙物 // 宣告一個障礙物的例項,並且為其設定一個id,方便對其進行操作,該例項會發布到當前的情景例項中 moveit_msgs::CollisionObject cylinder; cylinder.id = "