其他分享
首页 > 其他分享> > 切换ndk-build到gradle-build

切换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'.

 

标签:ndk,gradle,API,build,test,Android,jni
来源: https://www.cnblogs.com/zhangzhekun/p/16317213.html