Android Studio
JNI
Example仓库:
创建C++ Native项目
添加第三方so
第三方so放置的路径为:app/src/main/jniLibs/${ABI}
其中ABI主要为arm64-v8a,armeabi-v7a,x86,x86_64
NDK安装
修改CMakeLists.txt
如果遇到cmake版本过低的情况,可以修改app/build.gradle.kts中cmake的要求的版本。
CMakeLists.txt和cpp位置在app/src/main/cpp中,按需修改。
logcat
Problems
gradle/plugin下载问题
可以去download里面查看一下,部分域名(eg:dl.google.com、repo.maven.apache.org、plugins.gradle.org等)反而通过代理无法访问。
libOpenCL.so打不开
修改app/src/main/AndroidManifest.xml添加对native库的支持uses-native-library:
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<application ...>
<uses-native-library android:name="libOpenCL.so" android:required="false" />
</application>
</manifest>external storage没有权限
修改app/src/main/AndroidManifest.xml添加uses-permission
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<application ...>
...
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
</manifest>profileable
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" >
<application ... >
<profileable android:shell="true"/>
...
</application>
...
</manifest>


