1.添加第三方so或者jar库
1.1 直接将so或者jar放置在/src/main/jniLibs目录
1.2 将so或者jar放在/app/libs目录,并且在app/build.gradle的android根节点下添加
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
这种方法程序安装完,so会自动添加到apk的lib目录,安装后会根据arch自动解压到/data/app/com.xxx.xxx/lib目录
2.修改apk包名
修改app/build.gradle的android节点下defaultConfig的applicationId属性
3.新版本ndk(r17开始)不再支持armeabi架构(armv5)
可以将armeabi文件夹下的so全部复制到armeabi-v7a目录下,Rebuild工程
4.将java打包成jar
4.1 New -> New Module… -> Android Library
将需要打包的java源文件全部放到新建的Module中
4.2 编辑新建的Module的gradle,加入如下代码:
task deleteOldJar(type: Delete) {
//删除存在的
delete 'com/midea/colmo/voice_energy/VoiceEnergyService.jar'
}
//生成在build/libs/目录下
task makeJar(type: org.gradle.api.tasks.bundling.Jar) {
//指定生成的jar名
baseName 'VoiceEnergyService'
//从哪里打包class文件
//com/midea/colmo/voice_energy/为包名目录
from('build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/midea/colmo/voice_energy/')
//去掉不需要打包的目录和文件
exclude('BuildConfig.class','R.class')
//去掉R$开头的文件
exclude{it.name.startsWith('R$');}
//生成jar类的包名
into('com/midea/colmo/voice_energy/')
}
makeJar.dependsOn(deleteOldJar, build)
4.3 配置好系统的JAVA_HOME(JDK目录),在Therminal中执行
gradlew makeJar
执行完成可以在Module目录下的build/libs/中找到生成的jar