-
-
[原创]android studio 2.2 cydia 开发教程一《编译》
-
发表于:
2016-11-13 14:56
4684
-
[原创]android studio 2.2 cydia 开发教程一《编译》
android studio 2.2 以后就有一个好消息,一个ide就搞定,再也不用分开编译so,了
可以从java到so联调,并且顺利下断点,但是接着而来的就是不用Android.mk这种了,网上的资料瞬间过期了,换成gradle 脚本的一个东东。
跟着向导走,特别指出的有几个地方
第一:包含第三方so
1.第三方so放到libs目录(CMakeLists.txt)
add_library(substrate_lib SHARED IMPORTED)
set_target_properties(substrate_lib PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libsubstrate.so)
add_library(substrate_dvm_lib SHARED IMPORTED)
set_target_properties(substrate_dvm_lib PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libsubstrate-dvm.so)
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib}
substrate_lib
substrate_dvm_lib)
2.可能第三方so只有指定平台的so,比如只有arm的,此时你直接包含就会有问题
我们就需要指定一下(build.gradle)
productFlavors {
x86 {
flavorDimension "x86"
ndk {
abiFilter "x86"
}
}
arm {
flavorDimension "abi"
ndk {
abiFilter "armeabi"
}
}
}
3.打包的时候要给第三方包打进去,所以我们需要告诉一声(build.gradle)
sourceSets.main {
jni.srcDirs = [] // This prevents the auto generation of Android.mk
jniLibs.srcDir 'libs'
}
现在编译一下
android vm qq技术交流群:330283876
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课