前些日子eclipse突然全方面罢工,于是换了使用Android Studio。
然后在使用过程中,需要.jar和.so,遇到了些问题,下面总结下使用方法:

1、加入jar拿百度定位SDK来说,按照百度官方的文档完成配置完成后,因为Android Studio使用的是gradle,所以需要在项目的build.gradle中添加jar包的配置。(注意,这里不是整个工作空间只是单个项目的build.gradle)打开后是下面这个样子的:

buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath 'com.android.tools.build:gradle:0.5.+'    }}apply plugin: 'android'repositories {    mavenCentral()}dependencies {    compile 'com.android.support:support-v4:13.0.+'}android {    compileSdkVersion 17    buildToolsVersion "17.0.0"    defaultConfig {        minSdkVersion 8        targetSdkVersion 16    }}
然后在 dependencies{}中添加放置在libs文件夹下的名为xxxx.jar导入:
dependencies {    compile 'com.android.support:support-v4:13.0.+'    compile files('libs/xxxx.jar')}
这样配置之后,百度的位置信息还是一直没有获取到,最可能的原因就是.so文件没有加载成功
2、加入.so

(1)这个还与gradle版本有关系。在v0.3(可以从上面dependencies{classpath 'com.android.tools.build:gradle:0.5.+'}中看到我的版本是v0.5)下可以在build.gradle中添加如下设置:

task copyNativeLibs(type: Copy) {    from(new File(project(':MyProject').buildDir, 'native-libs')) { include '**/*.so' }    into new File(buildDir, 'native-libs')}tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs }clean.dependsOn 'cleanCopyNativeLibs'tasks.withType(com.android.build.gradle.PackageApplicationTask) { pkgTask ->    pkgTask.jniDir new File(buildDir, 'native-libs')}
(注意:代码中的':MyProject'一定要换成你的项目名字哦)
因为我的不是v0.3所以我也没有获得想要的结果。希望使用v0.3的同学验证上面方法是否能成功。该方法GitHub地址: 地址
(2)0.5中我选择的处理方法:
将所有需要使用的.so文件压缩为.zip文件(zip中的文件目录结构为: lib/armeabi/*.so)注意,一定要是这样的路径,lib不要写成libs啊!然后将这个.zip文件重命名为armeabi.jar文件(我用的是so.jar),将该jar包添加到项目的libs文件下。在项目build.gradle中的添加jar文件的dependencies中删除已添加的jar,包括 compile 'com.android.support:support-v4:13.0.+' 这个。更改为:
dependencies {    compile fileTree(dir: 'libs', include: '*.jar')}
虽然感觉上面的方法有些小变态,但是解决问题才是关键对不?
再详细说一下:
最后的目录结构
libs
^---|xxx.jar
^---|armeabi.jar
^---|lib
^---|armeabi

^---|xxx.so

刚开始使用ubuntu,IBus默认输入法中特殊符号不会使用,只能形像到这里,希望能看懂。回公司补个截图。先凑合看。
最后:如果您看到该文,发现那里有错误希望能指正,如果有更好的解决方法希望您能告知,互相学习嘛 。同时也希望能对遇到该类问题的程序猿(媛)有所帮助。

---生命不止,编码不息。




更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  7. Android(安卓)模拟器解决公司网络内无法上网的另类解决方法
  8. Android(安卓)项目上线流程总结
  9. Android(安卓)NDK系列一(ndk在android studio基本编译配置 ndk-bu

随机推荐

  1. drawable类型
  2. android之android:largeHeap说明
  3. android自带数据库之数据插入
  4. android引用外部工程或jar包
  5. Android 中文 API (16) ―― AnalogClock
  6. android系统开发(十)-audio移植一 .
  7. Android样式和主题(style&theme)
  8. Android对SD卡进行读写
  9. android中的基本控件
  10. Android之Handler用法总结