##雜七雜八感言:

最近搞完一些Golang部分,有開始跑各個平台的cross platform的building solution.果然C++跨平台一點都不簡單,真是80%設定環境,20%寫跨平台的code….

##筆記:

[Golang] 關於Golang 有趣的網頁與小工具

[Apple] 關於 Apple 03/09 發表會

這個禮拜讓蘋果迷最興奮的就是三月的發表會. 裡面有包括了ResearchKitMacBook更新跟Apple Watch. 兩個跟硬體有關的就沒啥好評論….

ResearchKit 與 HealthKit

根據已經放出的消息,ResearchKit透過兩項(目前已知是手指點擊與聲音)的手機功能,可以提供一些簡單的診斷.並且把這些資料提供給醫療研究機關. 等到詳細資料出來應該會更仔細地研究一下,是否一般廠商有介入的空間.

[Android] 在Android Stuido 1.1 上面使用

自從Google 推出 Android Studio 正式版之後,自然而然也開始把Eclipse的力道放輕. 於是要弄新的SDK也變成是一個工程.

所以現在要開發新的cross platform module,所以也必須要在 Android Studio + NDK + JNI 去執行跨平台的 C++ module.

根據最新版的Android Studio 1.1 如果依照著一般的方式來部署NDK會發現以下的問題:

    WARNING [Project: :app] Current NDK support is deprecated.  Alternative will be provided in the future. 

找了一堆論壇,其實並沒有一個有系統地整理,直到看到這一篇文章,以下把方法整理一下:

  • 安裝 Android Studio 1.1
  • 下載並且安裝 Android NDK r10d
  • 先到一開始的畫面[Configure]->[settings]->[External Tools] 設定Gradle
  • 設定javah
  • 新增一個NDK Build 類別為NDK
    • Program:C:\ndk\ndk-build.cmd
    • Parameters:NDK_PROJECT_PATH=$ModuleFileDir$/build/intermediates/ndk NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs NDK_APPLICATION_MK=$ModuleFileDir$/src/main/jni/Application.mk APP_BUILD_SCRIPT=$ModuleFileDir$/src/main/jni/Android.mk V=1
    • Working directory:$SourcepathEntry$
  • 這樣設定好就可以
  • 複製ndk-r10d 目錄下的sample\hello-jni來使用
  • 會出現一個[c]在上面按下 右鍵跑 “NDK Build”,來製造出.so
  • [App]->[build.gradle]新增:

      sourceSets.main.jni.srcDirs = []
    
  • 然後sync gradle 這時候會發現[C]不見了,就可以跑App

之後要切換就是把上面的那段 comment掉才能build NDK


Evan

Attitude is everything