Android开发:Android Studio工具遇到的坑,以及解决办法

11 篇文章 0 订阅
6 篇文章 0 订阅

场景一

打开a s工程项目,报错:Could not find method android() for arguments

Error:(31, 0) Could not find method android() for arguments [build_4g5zqa4pkpj6q6qii8a22khzz$_run_closure2@7a96d128] on root project 'Mybaby' of type org.gradle.api.Project.
<a href="openFile:/Users/shixinshan/Development/ReactNativeProjects/Mybaby/android/build.gradle">Open File</a>

解决:

点击“Open File”–>注释掉,如下代码:

//android {
//    compileSdkVersion 25
//    buildToolsVersion '25.0.2'
//}

场景二

打开as项目,报错:No cached version of com.android.tools.build:gradle:2.2+ available for offline mode.

No cached version of com.android.tools.build:gradle:2.2+ available for offline mode.

解决:

Preferences-->搜索“gradle”-->取消勾选的Offline Work, -->点击"Apply"-->AS会自动下载

场景三:

在编译as项目时候,报错:

D:\AndroidStudioProjects\\app\build\intermediates\res\merged\debug\values-ldltr-v21\values-ldltr-v21.xml
Error:(19) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Large.Inverse'.
Error:(32) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Small.Inverse'.
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Spinner.Underlined'.
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Spinner.Underlined'.
Error:(176) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.AutoCompleteTextView'.
D:\AndroidStudioProjects\app\build\intermediates\res\merged\debug\values-v21\values-v21.xml
Error:(25) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Medium.Inverse'.
Error:(17) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Inverse'.
Error:(218) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ProgressBar.Horizontal'.
Error:(216) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ProgressBar'.
。。。
。。。

解决:

打开app目录下的build.gradle文件,查看里面的compileSdkVersion
和compile ‘com.android.support:’版本是不是对应的,如果不对应修改改成一样。比如:

apply plugin: 'com.android.application'
android {
    compileSdkVersion 19
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.smart.smartpadsdkdemo"
        minSdkVersion 14
        targetSdkVersion 19
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    compileOptions {
        encoding "UTF-8"
    }
}

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}


dependencies {
    compile('com.github.tony19:logback-android-classic:1.1.1-6') {
        exclude group: 'com.google.android', module: 'android'
    }
    compile 'com.android.support:support-v4:19.1.0'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.android.support:appcompat-v7:19.1.0'
}

场景三

使用adb shell报错:

adb server is out of date.  killing

解决方法:
原因可能是其它程序占用了5037端口导致的,
所以查看哪个程序占用了adb调试端口,然后结束掉它就行。
点击android studio工具下方的Terminal,输入下面三条指令

//查看使用5037端口有哪些应用占用
netstat -aon|findstr "5037"
//查看具体端口是那个应用占用
tasklist|findstr "5456"
//杀死xxxx端口的应用
taskkill /f /pid xxxx 

如果上面的方法还是不行,继续下面步骤
cmd命令行输入adb devices

List of devices attached

没有显示设备,说明电脑没有连接到手机设备
解决方法:下载豌豆荚软件,连接手机,让电脑能够连接到手机
再cmd命令行输入adb devices,显示如下结果,说明连接成功

List of devices attached
87209cd8c6a700000000    device

场景四

问题:打开Android Devices Monitor工具,发现Data目录打不开

分析:没有访问权限,普及一下, drwxrwx–x,这玩意是什么意思呢?
这9 个字符可以分为三组,

  • 第一组 rwx 表示所有者(user)对文件的访问权限,r 表示可读(read),w 表示可写(write),x 表示可被执行,- 表示没有该权限;
  • 第二组 rwx 表示组群(group)对文件的访问权限;
  • 第三组 –x 表示其他人(other)对文件的访问权限,可以看到,没有 r 和 w,说明 data 对其他人来说是不可读不可写的

如何修改Data目录的权限?

D:\AndroidStudioProjects\SmartTeachAttendance>adb shell
shell@astar-dvk3:/ $ su
su
shell@astar-dvk3:/ # chmod 777 /data
chmod 777 /data
shell@astar-dvk3:/ # chmod 777 /data/data
chmod 777 /data/data
shell@astar-dvk3:/ # chmod 777 /data/data/com.smart.teach
chmod 777 /data/data/com.smart.teach
shell@astar-dvk3:/ # chmod 777 /data/data/com.smart.teach/databases
chmod 777 /data/data/com.smart.teach/databases
shell@astar-dvk3:/ # chmod 777 /data/data/com.smart.teach/databases/*
chmod 777 /data/data/com.smart.teach/databases/*
shell@astar-dvk3:/ #
  • su 是获取 root 权限,只有 root 权限才能修改文件的访问权限。
  • chmod 777 是把对应的文件或文件夹的访问权限的后 9 位设置成 rwxrwxrwx
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为AI,我无法拥有亲身体验和感受,但是我可以根据人类编写的经验来为您提供一些关于Android Studio遇到的困难以及解决办法。 以下是可能会遇到的一些常见困难以及解决办法: 1. 编译错误 当您在编写代码时,可能会遇到编译错误。这可能是由于语法错误、拼写错误、代码逻辑错误等导致的。解决办法是仔细检查代码,确保所有语法和逻辑是正确的。您也可以使用Android Studio提供的调试工具来帮助您找到错误并进行修复。 2. 设备连接问题 如果您计划在真实设备上测试您的应用程序,可能会遇到设备连接问题。这可能是由于驱动程序未安装、USB连接问题或设备权限问题等导致的。解决办法是确保您的设备已启用开发人员选项,并已授予应用程序所需的权限。您还可以尝试重新安装驱动程序或更换USB线。 3. 版本兼容性问题 当您开发的应用程序需要运行在多个Android版本上时,可能会遇到版本兼容性问题。这可能是由于API不兼容、使用过时的功能或库等导致的。解决办法是使用最新的API或库,确保您的应用程序能够在不同的Android版本上运行。您可以使用Android Studio提供的版本控制工具来帮助您管理版本兼容性问题。 4. 性能问题 当您的应用程序运行缓慢或响应时间变慢时,可能会遇到性能问题。这可能是由于内存泄漏、过度绘制、不良的算法或代码等导致的。解决办法是使用性能分析工具来识别性能问题,并进行优化。您还可以使用Android Studio提供的内存分析工具来帮助您识别内存泄漏问题。 总之,当您在使用Android Studio开发应用程序时,可能会遇到各种问题。解决这些问题需要耐心和技巧。您可以使用Android Studio提供的工具和资源,或者在线社区和论坛来获取帮助和解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值