一、安装AndroidStudio
《第一行代码》第三版所用AndroidStudio版本为3.5.2
二、运行第一个代码HelloWord
按照书本安装后我的第一件事就是运行HelloWord这个系统自带的代码,却出现以下报错:
AAPT: aapt2. E 07-09 05:46:18 13920 3180 LoadedArsc.cpp:112] RES_TABLE_TYPE_TYPE entry offsets overlap actual entry data.
aapt2. E 07-09 05:46:18 13920 3180 ApkAssets.cpp:157] Failed to load 'resources.arsc' in APK 'E:\Tools\sdk\platforms\android-35\android.jar'.
error: failed to load include path E:\Tools\sdk\platforms\android-35\android.jar.
上面显示文件已经删除,但是该文件我按照路径去看发现还是存在该目录下,经查询发现有以下几点原因:
1.虚拟机未进行USB调试连接
2.project布局文件build.gradle中的sdk版本未能与之匹配,所以显示路径出现问题
解决方法:
1. 在Terminal中运行以下两行代码:
adb kill-server
停止运行中的 ADB 服务器
adb start-server
启动 ADB 服务器
接下来你的虚拟机将会询问是否同意,点击allow即可
2.点开Project->build.gradle
找到以下代码:
android {
compileSdkVersion 35
buildToolsVersion "35.0.0"
defaultConfig {
applicationId "com.example.helloword"
minSdkVersion 21
targetSdkVersion 35
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
从中我们可以看见全局布局显示的是API为35,但是第一行代码对应的是API29,因此只需要将35改为书中用的Android10.0也就是API29即可
android {
compileSdkVersion 29
buildToolsVersion "29.0.0"
defaultConfig {
applicationId "com.example.helloword"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
以下是运行结果图
希望我的文档能为各位提供帮助,谢谢大家的支持!