切換ndk-build到gradle-build
接到一個任務
將現有的ndk-build 切換到gradle build
一開始是網上找資料 +現有專案的gradle指令碼東拼西湊 能夠buildsuccessful
但是出來的apk 你都不知道是哪裡出錯導致的
然後開始了control +c /v 大法
找現成的 gayhub 搜尋gradle jni android
./gradlew build
報錯Android home 沒定義 新增local.properties
test@qemu05:~/zhekun/gradlebuild/Android-hello-jni_Gradle$ cat local.properties # This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must *NOT* be checked into Version Control Systems, # as it contains information specific to your local configuration. # location of the SDK. This is only used by Ant # For customization when using a Version Control System, please read the # header note. sdk.dir=/home/test/env/sdk #ndk.dir=/home/test/env/ndk/21.3.6528147 ndk.dir=/home/test/env/ndk/r20b
報錯
A problem occurred evaluating root project 'hello-jni'.
> Failed to apply plugin [id 'android']
> Gradle version 2.10 is required. Current version is 5.4.1.
解決方法並設定環境變數 但是後來好像沒解決
wget https://downloads.gradle-dn.com/distributions/gradle-2.1-all.zip
test@qemu05:~/zhekun/gradlebuild/Android-hello-jni_Gradle$ cat ~/.bashrc|grep gradle
export PATH=/home/test/zhekun/gradlebuild/gradle-2.2/bin:$PATH
然後換了一種執行方式
這年頭拿來主義也不容易啊
compileSdkVersion:編譯時的環境,與執行時無關。把這個設定成最高,可以避免使用被棄用的API。
minSdkVersion:app軟體執行時支援的最低的Android版本。
targetSdkVersion:建立Android專案使用的API版本。使用低版本API就能實現的功能就不要用更高的API版本,因為高版本API可能導致程式的不相容,影響app在不同安卓版本手機中的顯示效果。但也要注意,高版本API會修復和完善低版本中出現的問題,提供更多更好的類和介面給開發者使用。同時高版本API也會新增一些方法和屬性,以前多行程式碼才能搞定的事,現在可能只要一行程式碼就能搞定。
===========================================================
開始將公司的程式碼結構轉移到這個helloworld
很明顯AndroidManifest.xml這裡的 package="com.intel.btft.androidlog"要按照jni目錄結構改
/home/test/zhekun/gradlebuild/Android-hello-jni_Gradle/src/com/intel/btft/androidlog
剛剛不知道改了什麼
build successful
然後還沒高興幾秒鐘 被我改fail了
看來定時備份很重要啊 TAT
FAILURE: Build failed with an exception.
* What went wrong:
Task 'build.gradle' not found in root project 'androidlog'.