Android Studio小白踩坑记录
写在前面,本人纯纯安卓小白,自己摸索着用Android Studio,遇到了不少问题,在这里记录一下
- Android Studio推荐版本问题
我其实不太建议小白直接上来用最新的Android Studio版本,高版本的是kotlin语言编写的。我这里用的是2021版本的,小白用java语言较好。
- gradle安装太慢
这个是安装好Android Studio后,新建项目是需要安装。网上有许多的代理思路,尝试无果后,我采用的是换源。
在gradle-wrapper.properties里把原本的gradle源换成下面的
distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-7.0.2-all.zip
接下来还有许多gradle依赖,依然需要换源。
在build.gradle文件中这样写即可,主要是那几个源。
// Top-level build file where you can add configuration options common !
to all sub-projects/modules.
buildscript {
repositories {
maven {url 'https://maven.aliyun.com/repository/google'}
maven {url 'https://maven.aliyun.com/repository/public'}
maven {url 'https://maven.aliyun.com/repository/jcenter'}
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.2"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
选择了不要代理,要换源的话,推荐这样做
在gradle.properties中把这几个都注释掉
- Android studio打包时报错:app:lintVitalRelease
这个应该是lint检查出来了错误,确认可以忽略掉的话,就在Build.gradle文件中添加这样几行代码,忽略掉就可以啦~
lintOptions{
checkReleaseBuilds false
abortOnError false
}
然后就重新构建,再次打包就成功啦
- 非加密的HTTP协议进行网络连接遇到无法访问
在AndroidManifest.xml需要加
<application
android:usesCleartextTraffic="true"
android:allowBackup="true"
...>
<!-- 应用其他配置 -->
</application>
这个属性允许应用程序使用明文(非加密的)的网络流量,而不强制要求使用加密协议(如HTTPS)。通常,Android应用程序在连接网络时应该使用HTTPS,以确保数据的安全性。
如果你的应用需要通过非加密的HTTP协议进行网络连接(例如,连接到一个不支持HTTPS的服务器),你可能需要设置这个属性。然而,这不是推荐的做法,因为明文通信会导致数据在传输过程中容易受到拦截和窃听。
// 允许上网
<uses-permission android:name="android.permission.INTERNET" />
还有这个也要有
- Android studio build apk release 报错:ERROR:D:\Android_projects\IronWill\app\src\main\res\layout\activity_loadpage.xml:106: AAPT: error: resource XXX (aka com.example.ironwill:XXX) not found.资源找不到
|
我的项目是这些资源找不到,但是又有些资源在我的项目中又找的到。对比一下发现找不到的资源文件后面都有个(debug)后缀。
确实如此,有debug后缀的不能发布release apk
但是思考一下是什么原因:这些图片有的是xxxhdpi有的是xhdpi,xxxhdpi在我的项目中都是在图片编辑软件中(如Photoshop)经过缩放的。而xhdpi是原来图片多大就多大。原因就是缩放后的图片像素密度不一样,必须要是正常的一般的密度。
如何解决这个问题呢,很简单:不要发布release apk发布debug的就行。
问题2:发布debug版本的apk在我的手机上不能安装成功,提示要下载release版的。
这个我有个意外发现,把debug版的apk后缀改成apk.1再丢给手机安装,通过浏览器安装成功。骗过手机。
- 利用handler做延时播放有毒,当页面在延时的时间内来回切换,毒性发作,程序闪退
// 在你的方法中使用 Handler 来延迟执行播放 BGM
handler.postDelayed(new Runnable() {
@Override
public void run() {
// 在这里添加你想要延迟执行的操作
// 等待 3000 毫秒(3 秒)后再播放 BGM
if(!bgm.isPlaying()){
bgm.start();
}
}
}, 3000); // 3000 毫秒即 3 秒