b站镜像网站是谁做的/佛山网站建设工作
1 前言
昨天写了一个完全手搓的:Android学习19 -- 手搓App-CSDN博客
后面谷歌说不要用aapt,d8这些来搞。其实不想弄Gradle的,不过想着既然开始了,就多看一些。之前写过一篇Gradle,不过是最简单的编译,不涉及到安卓。Android学习18 -- Gradle_resourcehashescache.bin-CSDN博客
现在既然环境都搭建了,索性在上一篇的基础上一起弄弄Gradle看。
2 Gradle环境和配置
新的文件结构和之前都有不同。
代码和AndroidManifest.xml都是放在app\src\main下面。
2.1 配置文件
根目录下面有一个build.gradle,app下面也要增加一个build.gradle。
整体来说文件增加非常多。可以参看最后的附录。
代码延续了之前的代码,src和AndroidManifest.xml都是上一篇文章中的。
增加的文件主要就是Gradle相关的。
在根文件夹下面增加两个build.gradle和gradle.properties:
build.gradle
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/central' }google()mavenCentral()}dependencies {classpath 'com.android.tools.build:gradle:7.0.2'}
}allprojects {repositories {maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://maven.aliyun.com/repository/central' }google()mavenCentral()}
}
这里几个maven标志是为了解决无法下载的问题。换成了国内的阿里云服务器。。。
这里最坑的就是classpath 'com.android.tools.build:gradle:7.0.2',这里面gradle的版本我前后换了四五个。。。一直不停地有各种匹配的问题冒出来。单纯从出错信息,你还看不出来是gradle版本导致的问题。
gradle.properties
android.useAndroidX=true
android.enableJetifier=true
在App的文件夹中,也要增加一个build.gradle
plugins {id 'com.android.application'
}android {compileSdk 28// Target Android 9defaultConfig {applicationId "com.example.simpleapp" // Replace with your package nameminSdk 21 // Minimum SDK can be lower than 28targetSdk 28// Target Android 9versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}
}dependencies {implementation 'androidx.appcompat:appcompat:1.3.1'
}
因为目标设备是Android9,所以SDK选的28。
这里最坑的就是dependencies,里面要依赖什么库,哪个库要什么版本,不熟练的话根本不知道,还只能去猜碰运气。。。我是试了好多次。。。
2.2 环境
环境上也是非常折腾,之前用javac,aapt做包的时候,也没有挑JDK的版本。这里就不行了,必须要Android9匹配的版本,前后装了几个版本的JDK,还有Gradle,苦不堪言。。。最后换到jdk11,终于才可以了。至于Android_SDK,好像Gradle会自己管理,这个倒是不用手动去管理了,当然,这个也挺简单的。
3 构建
环境和配置文件弄好之后,运行构建本身倒是挺简单的,就是在根目录运行两个命令:
gradle wrapper
gradlew assembleDebug
但是真正运行这个堪称噩梦,无数次的报错,各种版本匹配,环境,配置的问题。如果没有GPT这些,估计我是真解决不了。
反正原则就是遇到问题解决问题吧,主要还是要根据Android9的版本,很多东西要切回老的组件。问题是你根本不知道什么版本安卓需要对应什么版本JDK,Gradle这些环境和一大堆库。。。
这里还有一个坑,默认状态下运行gradlew assembleDebug,会去下载Gradle,倒是因为网络问题,是大概率要timeout的。折腾了半天,最后参考的这篇:【flutter】 Running Gradle task ‘assembleDebug‘...超时问题_running gradle task 'assembledebug'...-CSDN博客
这里要修改gradle\wrapper\gradle-wrapper.properties,把里面的服务器位置改成这个https://mirrors.cloud.tencent.com/gradle/
无数次的折腾后,终于过了:
没有编译,也没有d8,也不用手动签名了。在output下直接可以看到做好的apk
新的apk差不多1.5M,比之前完全手搓的大了非常多。用压缩软件打开做好的apk。
可以看到dex文件就是3个,其中第一个原始有2M多,res里面东西也很多,估计是Gradle搞的时候加了很多私货吧。。。
4 运行
编完之后之后就很顺利了,ADB直接安装。(安装前要先卸载之前的,否则会说签名不匹配)
adb install app-debug.apk
其实对比一下昨天完全手搓的,安装的时候没有提示说有组件太老了,而且界面精美了不少。看来Gradle确实多做了一些自动化的内容。但是确实配置太麻烦了。。。
5 附录
完整的文件列表:
E:.
│ build.gradle
│ gradle.properties
│ gradlew
│ gradlew.bat
│ settings.gradle
│
├─.gradle
│ ├─6.9.2
│ │ │ gc.properties
│ │ │
│ │ ├─fileChanges
│ │ │ last-build.bin
│ │ │
│ │ ├─fileHashes
│ │ │ fileHashes.lock
│ │ │
│ │ └─vcsMetadata-1
│ ├─7.0.2
│ │ │ gc.properties
│ │ │
│ │ ├─dependencies-accessors
│ │ │ dependencies-accessors.lock
│ │ │ gc.properties
│ │ │
│ │ ├─executionHistory
│ │ │ executionHistory.bin
│ │ │ executionHistory.lock
│ │ │
│ │ ├─fileChanges
│ │ │ last-build.bin
│ │ │
│ │ ├─fileHashes
│ │ │ fileHashes.bin
│ │ │ fileHashes.lock
│ │ │ resourceHashesCache.bin
│ │ │
│ │ ├─javaCompile
│ │ │ classAnalysis.bin
│ │ │ jarAnalysis.bin
│ │ │ javaCompile.lock
│ │ │ taskHistory.bin
│ │ │
│ │ └─vcsMetadata-1
│ ├─8.12.1
│ │ │ gc.properties
│ │ │
│ │ ├─checksums
│ │ │ checksums.lock
│ │ │
│ │ ├─executionHistory
│ │ │ executionHistory.bin
│ │ │ executionHistory.lock
│ │ │
│ │ ├─expanded
│ │ ├─fileChanges
│ │ │ last-build.bin
│ │ │
│ │ ├─fileHashes
│ │ │ fileHashes.bin
│ │ │ fileHashes.lock
│ │ │
│ │ └─vcsMetadata
│ ├─buildOutputCleanup
│ │ buildOutputCleanup.lock
│ │ cache.properties
│ │ outputFiles.bin
│ │
│ ├─checksums
│ │ checksums.lock
│ │ md5-checksums.bin
│ │ sha1-checksums.bin
│ │
│ └─vcs-1
│ gc.properties
│
├─app
│ │ build.gradle
│ │ my-release-key.jks
│ │
│ ├─bin
│ │ └─com
│ │ └─example
│ │ └─simpleapp
│ │ MainActivity.class
│ │
│ ├─build
│ │ ├─generated
│ │ │ ├─ap_generated_sources
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─res
│ │ │ │ ├─pngs
│ │ │ │ │ └─debug
│ │ │ │ └─resValues
│ │ │ │ └─debug
│ │ │ └─source
│ │ │ └─buildConfig
│ │ │ └─debug
│ │ │ └─com
│ │ │ └─example
│ │ │ └─simpleapp
│ │ │ BuildConfig.java
│ │ │
│ │ ├─intermediates
│ │ │ ├─aar_metadata_check
│ │ │ │ └─debug
│ │ │ ├─annotation_processor_list
│ │ │ │ └─debug
│ │ │ │ annotationProcessors.json
│ │ │ │
│ │ │ ├─app_metadata
│ │ │ │ └─debug
│ │ │ │ app-metadata.properties
│ │ │ │
│ │ │ ├─compatible_screen_manifest
│ │ │ │ └─debug
│ │ │ │ output-metadata.json
│ │ │ │
│ │ │ ├─compile_and_runtime_not_namespaced_r_class_jar
│ │ │ │ └─debug
│ │ │ │ R.jar
│ │ │ │
│ │ │ ├─compressed_assets
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─data_binding_layout_info_type_merge
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─desugar_graph
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ │ ├─currentProject
│ │ │ │ │ ├─dirs_bucket_0
│ │ │ │ │ │ graph.bin
│ │ │ │ │ │
│ │ │ │ │ ├─dirs_bucket_1
│ │ │ │ │ │ graph.bin
│ │ │ │ │ │
│ │ │ │ │ ├─dirs_bucket_2
│ │ │ │ │ │ graph.bin
│ │ │ │ │ │
│ │ │ │ │ ├─dirs_bucket_3
│ │ │ │ │ │ graph.bin
│ │ │ │ │ │
│ │ │ │ │ ├─jar_c74e1c0ced86e050bd2576dd01860040994d379f4892d40b3abdfafcbde9e752_bucket_0
│ │ │ │ │ │ graph.bin
│ │ │ │ │ │
│ │ │ │ │ ├─jar_c74e1c0ced86e050bd2576dd01860040994d379f4892d40b3abdfafcbde9e752_bucket_1
│ │ │ │ │ │ graph.bin
│ │ │ │ │ │
│ │ │ │ │ ├─jar_c74e1c0ced86e050bd2576dd01860040994d379f4892d40b3abdfafcbde9e752_bucket_2
│ │ │ │ │ │ graph.bin
│ │ │ │ │ │
│ │ │ │ │ └─jar_c74e1c0ced86e050bd2576dd01860040994d379f4892d40b3abdfafcbde9e752_bucket_3
│ │ │ │ │ graph.bin
│ │ │ │ │
│ │ │ │ ├─externalLibs
│ │ │ │ ├─mixedScopes
│ │ │ │ └─otherProjects
│ │ │ ├─dex
│ │ │ │ └─debug
│ │ │ │ ├─mergeExtDexDebug
│ │ │ │ │ classes.dex
│ │ │ │ │
│ │ │ │ ├─mergeLibDexDebug
│ │ │ │ │ ├─0
│ │ │ │ │ ├─1
│ │ │ │ │ ├─10
│ │ │ │ │ ├─11
│ │ │ │ │ ├─12
│ │ │ │ │ ├─13
│ │ │ │ │ ├─14
│ │ │ │ │ ├─15
│ │ │ │ │ ├─2
│ │ │ │ │ ├─3
│ │ │ │ │ ├─4
│ │ │ │ │ ├─5
│ │ │ │ │ ├─6
│ │ │ │ │ ├─7
│ │ │ │ │ ├─8
│ │ │ │ │ └─9
│ │ │ │ └─mergeProjectDexDebug
│ │ │ │ ├─0
│ │ │ │ │ classes.dex
│ │ │ │ │
│ │ │ │ ├─1
│ │ │ │ ├─10
│ │ │ │ ├─11
│ │ │ │ ├─12
│ │ │ │ ├─13
│ │ │ │ ├─14
│ │ │ │ │ classes.dex
│ │ │ │ │
│ │ │ │ ├─15
│ │ │ │ ├─2
│ │ │ │ ├─3
│ │ │ │ ├─4
│ │ │ │ ├─5
│ │ │ │ ├─6
│ │ │ │ ├─7
│ │ │ │ ├─8
│ │ │ │ └─9
│ │ │ ├─dex_archive_input_jar_hashes
│ │ │ │ └─debug
│ │ │ │ out
│ │ │ │
│ │ │ ├─dex_number_of_buckets_file
│ │ │ │ └─debug
│ │ │ │ out
│ │ │ │
│ │ │ ├─duplicate_classes_check
│ │ │ │ └─debug
│ │ │ ├─external_file_lib_dex_archives
│ │ │ │ └─debug
│ │ │ ├─external_libs_dex_archive
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─external_libs_dex_archive_with_artifact_transforms
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─incremental
│ │ │ │ ├─debug-mergeJavaRes
│ │ │ │ │ │ merge-state
│ │ │ │ │ │
│ │ │ │ │ └─zip-cache
│ │ │ │ │ 048HcTWWEq1lulbmUyQznT37EsA=
│ │ │ │ │ 1a_EIO9PiBosWsI065pOT3qf7Ds=
│ │ │ │ │ 1hmxbp0IIpB68Da4s0EztcNOuOs=
│ │ │ │ │ 1hruv_CVTc7rACzgrV_EbGRL8aQ=
│ │ │ │ │ 1KCmdii_GxXEpMWe5Pq8kyWqzqQ=
│ │ │ │ │ 4NE736MhQ0mtuWu+hfqUiTOu13c=
│ │ │ │ │ 8WkG10fpk_rZSp2aLy7KzLtm3EE=
│ │ │ │ │ 9QKNvWu_7YUZQ1fUM2miHNFtCTo=
│ │ │ │ │ AfMj8haKzuev025IN1KKjT1Eny4=
│ │ │ │ │ At5i9i+tmegiq7FS1ao+_fZl8po=
│ │ │ │ │ bFDA9U0WYHVLP0PcNrkWdkKfAa8=
│ │ │ │ │ Cs1Dq7KfqTKuzs6HZppCnIzUTVQ=
│ │ │ │ │ FGzaasxdJ2z7_VgPq4ccnamPIos=
│ │ │ │ │ GHo9yJJtlaUoeIi0nkX_AZF6irk=
│ │ │ │ │ iAc+h+gBLDWoxrpG_Z_imkBl0ik=
│ │ │ │ │ JxuFh8wfiBAhlhJYcl_D93HpKGc=
│ │ │ │ │ nD6OwsZWtEe__BX75guczfU7kVA=
│ │ │ │ │ Nxxtm6fSLnclQYIfAWaya6DesE8=
│ │ │ │ │ PpmdA2vpVPet09q69BUMqYmPTSg=
│ │ │ │ │ QA6qPov9_kseM0wYMzsoSBfFF_Y=
│ │ │ │ │ TZEcozvYarb4JDmXWSbtY3Xa4Hs=
│ │ │ │ │ VfQqCnVCBACk8ME8kewXddA18Ek=
│ │ │ │ │ WtmjFSON6pWnWiXaZ5xxdg1U5BM=
│ │ │ │ │ ww5alz54j37jxPyaSnMgBR_nLKw=
│ │ │ │ │ wZW2oupEq4nj4seQKhI3ytH5u7U=
│ │ │ │ │ XJxTyhc62GgI8H8jWC9SVYWr5ow=
│ │ │ │ │ zAXtx6HcKosMvikBJB+60jWYvK0=
│ │ │ │ │
│ │ │ │ ├─mergeDebugAssets
│ │ │ │ │ merger.xml
│ │ │ │ │
│ │ │ │ ├─mergeDebugJniLibFolders
│ │ │ │ │ merger.xml
│ │ │ │ │
│ │ │ │ ├─mergeDebugResources
│ │ │ │ │ │ compile-file-map.properties
│ │ │ │ │ │ merger.xml
│ │ │ │ │ │
│ │ │ │ │ ├─merged.dir
│ │ │ │ │ │ ├─values
│ │ │ │ │ │ │ values.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-af
│ │ │ │ │ │ │ values-af.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-am
│ │ │ │ │ │ │ values-am.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ar
│ │ │ │ │ │ │ values-ar.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-as
│ │ │ │ │ │ │ values-as.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-az
│ │ │ │ │ │ │ values-az.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-b+sr+Latn
│ │ │ │ │ │ │ values-b+sr+Latn.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-be
│ │ │ │ │ │ │ values-be.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-bg
│ │ │ │ │ │ │ values-bg.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-bn
│ │ │ │ │ │ │ values-bn.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-bs
│ │ │ │ │ │ │ values-bs.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ca
│ │ │ │ │ │ │ values-ca.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-cs
│ │ │ │ │ │ │ values-cs.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-da
│ │ │ │ │ │ │ values-da.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-de
│ │ │ │ │ │ │ values-de.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-el
│ │ │ │ │ │ │ values-el.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-en-rAU
│ │ │ │ │ │ │ values-en-rAU.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-en-rCA
│ │ │ │ │ │ │ values-en-rCA.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-en-rGB
│ │ │ │ │ │ │ values-en-rGB.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-en-rIN
│ │ │ │ │ │ │ values-en-rIN.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-en-rXC
│ │ │ │ │ │ │ values-en-rXC.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-es
│ │ │ │ │ │ │ values-es.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-es-rUS
│ │ │ │ │ │ │ values-es-rUS.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-et
│ │ │ │ │ │ │ values-et.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-eu
│ │ │ │ │ │ │ values-eu.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-fa
│ │ │ │ │ │ │ values-fa.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-fi
│ │ │ │ │ │ │ values-fi.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-fr
│ │ │ │ │ │ │ values-fr.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-fr-rCA
│ │ │ │ │ │ │ values-fr-rCA.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-gl
│ │ │ │ │ │ │ values-gl.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-gu
│ │ │ │ │ │ │ values-gu.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-h720dp-v13
│ │ │ │ │ │ │ values-h720dp-v13.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-hdpi-v4
│ │ │ │ │ │ │ values-hdpi-v4.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-hi
│ │ │ │ │ │ │ values-hi.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-hr
│ │ │ │ │ │ │ values-hr.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-hu
│ │ │ │ │ │ │ values-hu.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-hy
│ │ │ │ │ │ │ values-hy.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-in
│ │ │ │ │ │ │ values-in.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-is
│ │ │ │ │ │ │ values-is.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-it
│ │ │ │ │ │ │ values-it.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-iw
│ │ │ │ │ │ │ values-iw.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ja
│ │ │ │ │ │ │ values-ja.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ka
│ │ │ │ │ │ │ values-ka.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-kk
│ │ │ │ │ │ │ values-kk.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-km
│ │ │ │ │ │ │ values-km.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-kn
│ │ │ │ │ │ │ values-kn.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ko
│ │ │ │ │ │ │ values-ko.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ky
│ │ │ │ │ │ │ values-ky.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-land
│ │ │ │ │ │ │ values-land.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-large-v4
│ │ │ │ │ │ │ values-large-v4.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ldltr-v21
│ │ │ │ │ │ │ values-ldltr-v21.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-lo
│ │ │ │ │ │ │ values-lo.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-lt
│ │ │ │ │ │ │ values-lt.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-lv
│ │ │ │ │ │ │ values-lv.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-mk
│ │ │ │ │ │ │ values-mk.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ml
│ │ │ │ │ │ │ values-ml.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-mn
│ │ │ │ │ │ │ values-mn.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-mr
│ │ │ │ │ │ │ values-mr.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ms
│ │ │ │ │ │ │ values-ms.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-my
│ │ │ │ │ │ │ values-my.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-nb
│ │ │ │ │ │ │ values-nb.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ne
│ │ │ │ │ │ │ values-ne.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-night-v8
│ │ │ │ │ │ │ values-night-v8.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-nl
│ │ │ │ │ │ │ values-nl.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-or
│ │ │ │ │ │ │ values-or.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-pa
│ │ │ │ │ │ │ values-pa.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-pl
│ │ │ │ │ │ │ values-pl.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-port
│ │ │ │ │ │ │ values-port.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-pt
│ │ │ │ │ │ │ values-pt.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-pt-rBR
│ │ │ │ │ │ │ values-pt-rBR.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-pt-rPT
│ │ │ │ │ │ │ values-pt-rPT.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ro
│ │ │ │ │ │ │ values-ro.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ru
│ │ │ │ │ │ │ values-ru.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-si
│ │ │ │ │ │ │ values-si.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-sk
│ │ │ │ │ │ │ values-sk.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-sl
│ │ │ │ │ │ │ values-sl.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-sq
│ │ │ │ │ │ │ values-sq.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-sr
│ │ │ │ │ │ │ values-sr.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-sv
│ │ │ │ │ │ │ values-sv.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-sw
│ │ │ │ │ │ │ values-sw.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-sw600dp-v13
│ │ │ │ │ │ │ values-sw600dp-v13.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ta
│ │ │ │ │ │ │ values-ta.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-te
│ │ │ │ │ │ │ values-te.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-th
│ │ │ │ │ │ │ values-th.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-tl
│ │ │ │ │ │ │ values-tl.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-tr
│ │ │ │ │ │ │ values-tr.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-uk
│ │ │ │ │ │ │ values-uk.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-ur
│ │ │ │ │ │ │ values-ur.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-uz
│ │ │ │ │ │ │ values-uz.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v16
│ │ │ │ │ │ │ values-v16.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v17
│ │ │ │ │ │ │ values-v17.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v18
│ │ │ │ │ │ │ values-v18.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v21
│ │ │ │ │ │ │ values-v21.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v22
│ │ │ │ │ │ │ values-v22.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v23
│ │ │ │ │ │ │ values-v23.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v24
│ │ │ │ │ │ │ values-v24.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v25
│ │ │ │ │ │ │ values-v25.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v26
│ │ │ │ │ │ │ values-v26.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-v28
│ │ │ │ │ │ │ values-v28.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-vi
│ │ │ │ │ │ │ values-vi.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-watch-v20
│ │ │ │ │ │ │ values-watch-v20.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-watch-v21
│ │ │ │ │ │ │ values-watch-v21.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-xlarge-v4
│ │ │ │ │ │ │ values-xlarge-v4.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-zh-rCN
│ │ │ │ │ │ │ values-zh-rCN.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-zh-rHK
│ │ │ │ │ │ │ values-zh-rHK.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─values-zh-rTW
│ │ │ │ │ │ │ values-zh-rTW.xml
│ │ │ │ │ │ │
│ │ │ │ │ │ └─values-zu
│ │ │ │ │ │ values-zu.xml
│ │ │ │ │ │
│ │ │ │ │ └─stripped.dir
│ │ │ │ ├─mergeDebugShaders
│ │ │ │ │ merger.xml
│ │ │ │ │
│ │ │ │ ├─packageDebug
│ │ │ │ │ └─tmp
│ │ │ │ │ └─debug
│ │ │ │ │ │ dex-renamer-state.txt
│ │ │ │ │ │
│ │ │ │ │ └─zip-cache
│ │ │ │ │ androidResources
│ │ │ │ │ javaResources0
│ │ │ │ │
│ │ │ │ └─processDebugResources
│ │ │ ├─javac
│ │ │ │ └─debug
│ │ │ │ └─classes
│ │ │ │ └─com
│ │ │ │ └─example
│ │ │ │ └─simpleapp
│ │ │ │ BuildConfig.class
│ │ │ │ MainActivity.class
│ │ │ │
│ │ │ ├─manifest_merge_blame_file
│ │ │ │ └─debug
│ │ │ │ manifest-merger-blame-debug-report.txt
│ │ │ │
│ │ │ ├─merged_assets
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─merged_java_res
│ │ │ │ └─debug
│ │ │ │ base.jar
│ │ │ │
│ │ │ ├─merged_jni_libs
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─merged_manifest
│ │ │ │ └─debug
│ │ │ │ AndroidManifest.xml
│ │ │ │
│ │ │ ├─merged_manifests
│ │ │ │ └─debug
│ │ │ │ AndroidManifest.xml
│ │ │ │ output-metadata.json
│ │ │ │
│ │ │ ├─merged_res
│ │ │ │ └─debug
│ │ │ │ values-af_values-af.arsc.flat
│ │ │ │ values-am_values-am.arsc.flat
│ │ │ │ values-ar_values-ar.arsc.flat
│ │ │ │ values-as_values-as.arsc.flat
│ │ │ │ values-az_values-az.arsc.flat
│ │ │ │ values-b+sr+Latn_values-b+sr+Latn.arsc.flat
│ │ │ │ values-be_values-be.arsc.flat
│ │ │ │ values-bg_values-bg.arsc.flat
│ │ │ │ values-bn_values-bn.arsc.flat
│ │ │ │ values-bs_values-bs.arsc.flat
│ │ │ │ values-ca_values-ca.arsc.flat
│ │ │ │ values-cs_values-cs.arsc.flat
│ │ │ │ values-da_values-da.arsc.flat
│ │ │ │ values-de_values-de.arsc.flat
│ │ │ │ values-el_values-el.arsc.flat
│ │ │ │ values-en-rAU_values-en-rAU.arsc.flat
│ │ │ │ values-en-rCA_values-en-rCA.arsc.flat
│ │ │ │ values-en-rGB_values-en-rGB.arsc.flat
│ │ │ │ values-en-rIN_values-en-rIN.arsc.flat
│ │ │ │ values-en-rXC_values-en-rXC.arsc.flat
│ │ │ │ values-es-rUS_values-es-rUS.arsc.flat
│ │ │ │ values-es_values-es.arsc.flat
│ │ │ │ values-et_values-et.arsc.flat
│ │ │ │ values-eu_values-eu.arsc.flat
│ │ │ │ values-fa_values-fa.arsc.flat
│ │ │ │ values-fi_values-fi.arsc.flat
│ │ │ │ values-fr-rCA_values-fr-rCA.arsc.flat
│ │ │ │ values-fr_values-fr.arsc.flat
│ │ │ │ values-gl_values-gl.arsc.flat
│ │ │ │ values-gu_values-gu.arsc.flat
│ │ │ │ values-h720dp-v13_values-h720dp-v13.arsc.flat
│ │ │ │ values-hdpi-v4_values-hdpi-v4.arsc.flat
│ │ │ │ values-hi_values-hi.arsc.flat
│ │ │ │ values-hr_values-hr.arsc.flat
│ │ │ │ values-hu_values-hu.arsc.flat
│ │ │ │ values-hy_values-hy.arsc.flat
│ │ │ │ values-in_values-in.arsc.flat
│ │ │ │ values-is_values-is.arsc.flat
│ │ │ │ values-it_values-it.arsc.flat
│ │ │ │ values-iw_values-iw.arsc.flat
│ │ │ │ values-ja_values-ja.arsc.flat
│ │ │ │ values-ka_values-ka.arsc.flat
│ │ │ │ values-kk_values-kk.arsc.flat
│ │ │ │ values-km_values-km.arsc.flat
│ │ │ │ values-kn_values-kn.arsc.flat
│ │ │ │ values-ko_values-ko.arsc.flat
│ │ │ │ values-ky_values-ky.arsc.flat
│ │ │ │ values-land_values-land.arsc.flat
│ │ │ │ values-large-v4_values-large-v4.arsc.flat
│ │ │ │ values-ldltr-v21_values-ldltr-v21.arsc.flat
│ │ │ │ values-lo_values-lo.arsc.flat
│ │ │ │ values-lt_values-lt.arsc.flat
│ │ │ │ values-lv_values-lv.arsc.flat
│ │ │ │ values-mk_values-mk.arsc.flat
│ │ │ │ values-ml_values-ml.arsc.flat
│ │ │ │ values-mn_values-mn.arsc.flat
│ │ │ │ values-mr_values-mr.arsc.flat
│ │ │ │ values-ms_values-ms.arsc.flat
│ │ │ │ values-my_values-my.arsc.flat
│ │ │ │ values-nb_values-nb.arsc.flat
│ │ │ │ values-ne_values-ne.arsc.flat
│ │ │ │ values-night-v8_values-night-v8.arsc.flat
│ │ │ │ values-nl_values-nl.arsc.flat
│ │ │ │ values-or_values-or.arsc.flat
│ │ │ │ values-pa_values-pa.arsc.flat
│ │ │ │ values-pl_values-pl.arsc.flat
│ │ │ │ values-port_values-port.arsc.flat
│ │ │ │ values-pt-rBR_values-pt-rBR.arsc.flat
│ │ │ │ values-pt-rPT_values-pt-rPT.arsc.flat
│ │ │ │ values-pt_values-pt.arsc.flat
│ │ │ │ values-ro_values-ro.arsc.flat
│ │ │ │ values-ru_values-ru.arsc.flat
│ │ │ │ values-si_values-si.arsc.flat
│ │ │ │ values-sk_values-sk.arsc.flat
│ │ │ │ values-sl_values-sl.arsc.flat
│ │ │ │ values-sq_values-sq.arsc.flat
│ │ │ │ values-sr_values-sr.arsc.flat
│ │ │ │ values-sv_values-sv.arsc.flat
│ │ │ │ values-sw600dp-v13_values-sw600dp-v13.arsc.flat
│ │ │ │ values-sw_values-sw.arsc.flat
│ │ │ │ values-ta_values-ta.arsc.flat
│ │ │ │ values-te_values-te.arsc.flat
│ │ │ │ values-th_values-th.arsc.flat
│ │ │ │ values-tl_values-tl.arsc.flat
│ │ │ │ values-tr_values-tr.arsc.flat
│ │ │ │ values-uk_values-uk.arsc.flat
│ │ │ │ values-ur_values-ur.arsc.flat
│ │ │ │ values-uz_values-uz.arsc.flat
│ │ │ │ values-v16_values-v16.arsc.flat
│ │ │ │ values-v17_values-v17.arsc.flat
│ │ │ │ values-v18_values-v18.arsc.flat
│ │ │ │ values-v21_values-v21.arsc.flat
│ │ │ │ values-v22_values-v22.arsc.flat
│ │ │ │ values-v23_values-v23.arsc.flat
│ │ │ │ values-v24_values-v24.arsc.flat
│ │ │ │ values-v25_values-v25.arsc.flat
│ │ │ │ values-v26_values-v26.arsc.flat
│ │ │ │ values-v28_values-v28.arsc.flat
│ │ │ │ values-vi_values-vi.arsc.flat
│ │ │ │ values-watch-v20_values-watch-v20.arsc.flat
│ │ │ │ values-watch-v21_values-watch-v21.arsc.flat
│ │ │ │ values-xlarge-v4_values-xlarge-v4.arsc.flat
│ │ │ │ values-zh-rCN_values-zh-rCN.arsc.flat
│ │ │ │ values-zh-rHK_values-zh-rHK.arsc.flat
│ │ │ │ values-zh-rTW_values-zh-rTW.arsc.flat
│ │ │ │ values-zu_values-zu.arsc.flat
│ │ │ │ values_values.arsc.flat
│ │ │ │
│ │ │ ├─merged_res_blame_folder
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ │ └─multi-v2
│ │ │ │ debug.json
│ │ │ │ values-af.json
│ │ │ │ values-am.json
│ │ │ │ values-ar.json
│ │ │ │ values-as.json
│ │ │ │ values-az.json
│ │ │ │ values-b+sr+Latn.json
│ │ │ │ values-be.json
│ │ │ │ values-bg.json
│ │ │ │ values-bn.json
│ │ │ │ values-bs.json
│ │ │ │ values-ca.json
│ │ │ │ values-cs.json
│ │ │ │ values-da.json
│ │ │ │ values-de.json
│ │ │ │ values-el.json
│ │ │ │ values-en-rAU.json
│ │ │ │ values-en-rCA.json
│ │ │ │ values-en-rGB.json
│ │ │ │ values-en-rIN.json
│ │ │ │ values-en-rXC.json
│ │ │ │ values-es-rUS.json
│ │ │ │ values-es.json
│ │ │ │ values-et.json
│ │ │ │ values-eu.json
│ │ │ │ values-fa.json
│ │ │ │ values-fi.json
│ │ │ │ values-fr-rCA.json
│ │ │ │ values-fr.json
│ │ │ │ values-gl.json
│ │ │ │ values-gu.json
│ │ │ │ values-h720dp-v13.json
│ │ │ │ values-hdpi-v4.json
│ │ │ │ values-hi.json
│ │ │ │ values-hr.json
│ │ │ │ values-hu.json
│ │ │ │ values-hy.json
│ │ │ │ values-in.json
│ │ │ │ values-is.json
│ │ │ │ values-it.json
│ │ │ │ values-iw.json
│ │ │ │ values-ja.json
│ │ │ │ values-ka.json
│ │ │ │ values-kk.json
│ │ │ │ values-km.json
│ │ │ │ values-kn.json
│ │ │ │ values-ko.json
│ │ │ │ values-ky.json
│ │ │ │ values-land.json
│ │ │ │ values-large-v4.json
│ │ │ │ values-ldltr-v21.json
│ │ │ │ values-lo.json
│ │ │ │ values-lt.json
│ │ │ │ values-lv.json
│ │ │ │ values-mk.json
│ │ │ │ values-ml.json
│ │ │ │ values-mn.json
│ │ │ │ values-mr.json
│ │ │ │ values-ms.json
│ │ │ │ values-my.json
│ │ │ │ values-nb.json
│ │ │ │ values-ne.json
│ │ │ │ values-night-v8.json
│ │ │ │ values-nl.json
│ │ │ │ values-or.json
│ │ │ │ values-pa.json
│ │ │ │ values-pl.json
│ │ │ │ values-port.json
│ │ │ │ values-pt-rBR.json
│ │ │ │ values-pt-rPT.json
│ │ │ │ values-pt.json
│ │ │ │ values-ro.json
│ │ │ │ values-ru.json
│ │ │ │ values-si.json
│ │ │ │ values-sk.json
│ │ │ │ values-sl.json
│ │ │ │ values-sq.json
│ │ │ │ values-sr.json
│ │ │ │ values-sv.json
│ │ │ │ values-sw.json
│ │ │ │ values-sw600dp-v13.json
│ │ │ │ values-ta.json
│ │ │ │ values-te.json
│ │ │ │ values-th.json
│ │ │ │ values-tl.json
│ │ │ │ values-tr.json
│ │ │ │ values-uk.json
│ │ │ │ values-ur.json
│ │ │ │ values-uz.json
│ │ │ │ values-v16.json
│ │ │ │ values-v17.json
│ │ │ │ values-v18.json
│ │ │ │ values-v21.json
│ │ │ │ values-v22.json
│ │ │ │ values-v23.json
│ │ │ │ values-v24.json
│ │ │ │ values-v25.json
│ │ │ │ values-v26.json
│ │ │ │ values-v28.json
│ │ │ │ values-vi.json
│ │ │ │ values-watch-v20.json
│ │ │ │ values-watch-v21.json
│ │ │ │ values-xlarge-v4.json
│ │ │ │ values-zh-rCN.json
│ │ │ │ values-zh-rHK.json
│ │ │ │ values-zh-rTW.json
│ │ │ │ values-zu.json
│ │ │ │ values.json
│ │ │ │
│ │ │ ├─merged_shaders
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─mixed_scope_dex_archive
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─navigation_json
│ │ │ │ └─debug
│ │ │ │ navigation.json
│ │ │ │
│ │ │ ├─packaged_manifests
│ │ │ │ └─debug
│ │ │ │ AndroidManifest.xml
│ │ │ │ output-metadata.json
│ │ │ │
│ │ │ ├─processed_res
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ │ output-metadata.json
│ │ │ │ resources-debug.ap_
│ │ │ │
│ │ │ ├─project_dex_archive
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ │ │ c33e8c747d74d1a84f419785e60af63897d9343fd80c67c5b4444946ca3b6c29_0.jar
│ │ │ │ │ c33e8c747d74d1a84f419785e60af63897d9343fd80c67c5b4444946ca3b6c29_1.jar
│ │ │ │ │ c33e8c747d74d1a84f419785e60af63897d9343fd80c67c5b4444946ca3b6c29_2.jar
│ │ │ │ │ c33e8c747d74d1a84f419785e60af63897d9343fd80c67c5b4444946ca3b6c29_3.jar
│ │ │ │ │
│ │ │ │ └─com
│ │ │ │ └─example
│ │ │ │ └─simpleapp
│ │ │ │ BuildConfig.dex
│ │ │ │ MainActivity.dex
│ │ │ │
│ │ │ ├─res
│ │ │ │ └─merged
│ │ │ │ └─debug
│ │ │ ├─runtime_symbol_list
│ │ │ │ └─debug
│ │ │ │ R.txt
│ │ │ │
│ │ │ ├─signing_config_versions
│ │ │ │ └─debug
│ │ │ │ signing-config-versions.json
│ │ │ │
│ │ │ ├─sub_project_dex_archive
│ │ │ │ └─debug
│ │ │ │ └─out
│ │ │ ├─symbol_list_with_package_name
│ │ │ │ └─debug
│ │ │ │ package-aware-r.txt
│ │ │ │
│ │ │ └─validate_signing_config
│ │ │ └─debug
│ │ ├─outputs
│ │ │ ├─apk
│ │ │ │ └─debug
│ │ │ │ app-debug.apk
│ │ │ │ output-metadata.json
│ │ │ │
│ │ │ └─logs
│ │ │ manifest-merger-debug-report.txt
│ │ │
│ │ └─tmp
│ │ └─compileDebugJavaWithJavac
│ │ source-classes-mapping.txt
│ │
│ └─src
│ └─main
│ │ AndroidManifest.xml
│ │
│ ├─java
│ │ └─com
│ │ └─example
│ │ └─simpleapp
│ │ MainActivity.java
│ │
│ └─res
│ ├─layout
│ └─values
├─build
│ └─reports
│ └─problems
│ problems-report.html
│
├─gradle
│ └─wrapper
│ gradle-wrapper.jar
│ gradle-wrapper.properties
│
└─outapp.signed.apkapp.signed.apk.idsigapp.unsigned.apkclasses.dex
相关文章:

Android学习20 -- 手搓App2(Gradle)
1 前言 昨天写了一个完全手搓的:Android学习19 -- 手搓App-CSDN博客 后面谷歌说不要用aapt,d8这些来搞。其实不想弄Gradle的,不过想着既然开始了,就多看一些。之前写过一篇Gradle,不过是最简单的编译,不涉…...

LeetCode - Google 大模型10题 第2天 Position Embedding(位置编码) 3题
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145454489 在 Transformer 架构中,位置编码(Position Embedding) 是辅助模型理解序列中元素顺序的关键机制。绝对位置编码(Absolute P…...

PostgreSQL 数据库备份与还原
为了安全与数据共享等,创建好的数据库有时候需要备份操作和还原操作。数据库的备份与还原主要是三个命令:pg_dump、pg_dumpall 和 pg_restore 。 其中pg_dump用于备份单个数据库,它支持多种备份格式(SQL、自定义等)&a…...

proxmox通过更多的方式创建虚拟机
概述 作为一名资深运维工程师,我们经常需要在 Proxmox 虚拟化平台上创建和管理虚拟机。本文将介绍三种不同的方式在 Proxmox 上创建 Ubuntu 虚拟机: 通过 Proxmox 命令创建虚拟机通过 Shell 脚本自动化创建虚拟机使用 Proxmox API 创建虚拟机 每种方式…...

WordPress使用(2)
上一篇文章讲述了WordPress的基本安装,主要是docker方式的处理。本文章主要介绍WordPress安装后的其他设置。 1. 安装后设置 安装后碰到的第一个需求就是安装一个合适的主题,但WordPress默认的上传文件大小是2M,远远无法满足要求࿰…...

git中文件的状态状态切换
文件的状态分类 Git 中文件的状态主要分为以下几种: Untracked(未跟踪) 定义:这些文件从未被 Git 跟踪过,通常是因为它们是新创建的文件,或者被 .gitignore 排除在外。 示例:新创建的文件 new…...

解决php8.3无法加载curl扩展
把它的值更改为扩展存在的目录的绝对路径(扩展存在的目录为有php_xxx.dll存在的目录) extension_dir "e:\serv\php83\ext" 然后从php根目录复制 libssh2.dll 和 libcrypto-*.dll 和 libssl-*.dll 到Apache根目录下的bin目录 重启apache服务即可...

三路排序算法
三路排序算法 引言 排序算法是计算机科学中基础且重要的算法之一。在数据分析和处理中,排序算法的效率直接影响着程序的执行速度和系统的稳定性。本文将深入探讨三路排序算法,包括其原理、实现和应用场景。 一、三路排序算法的原理 三路排序算法是一…...

入行FPGA设计工程师需要提前学习哪些内容?
FPGA作为一种灵活可编程的硬件平台,广泛应用于嵌入式系统、通信、数据处理等领域。很多人选择转行FPGA设计工程师,但对于新手来说,可能在学习过程中会遇到一些迷茫和困惑。为了帮助大家更好地准备,本文将详细介绍入行FPGA设计工程…...

DBASE DBF数据库文件解析
基于Java实现DBase DBF文件的解析和显示 JDK19编译运行,实现了数据库字段和数据解析显示。 首先解析数据库文件头代码 byte bytes[] Files.readAllBytes(Paths.get(file));BinaryBufferArray bis new BinaryBufferArray(bytes);DBF dbf new DBF();dbf.VersionN…...

html基本结构和常见元素
html5文档基本结构 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>文档标题</title> </head> <body>文档正文部分 </body> </html> html文档可分为文档头和文档体…...

JAVAweb学习日记(十) Mybatis入门操作
一、介绍 二、快速入门程序 三、入门-数据库连接池 四、入门-lombok工具包...

从Transformer到世界模型:AGI核心架构演进
文章目录 引言:架构革命推动AGI进化一、Transformer:重新定义序列建模1.1 注意力机制的革命性突破1.2 从NLP到跨模态演进1.3 规模扩展的黄金定律 二、通向世界模型的关键跃迁2.1 从语言模型到认知架构2.2 世界模型的核心特征2.3 混合架构的突破 三、构建…...

Rk3588芯片介绍(含数据手册)
芯片介绍:RK3588是一款低功耗,高性能的处理器,适用于基于arm的PC和边缘计算设备,个人移动互联网设备和其他数字多媒体应用,集成了四核Cortex-A76和四核Cortex-A55以及单独的NEON协处理器 视频处理方面:提供…...

java开发面试自我介绍模板_java面试自我介绍3篇
java 面试自我介绍 3 篇 java 面试自我介绍篇一: 我叫赵,我的同学更都喜欢称呼我的英文名字,叫,六月的 意思,是君的谐音。我来自安徽的市,在 21 年我以市全市第一名 的成绩考上了大学,…...

w193基于Spring Boot的秒杀系统设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...

chrome浏览器chromedriver下载
chromedriver 下载地址 https://googlechromelabs.github.io/chrome-for-testing/ 上面的链接有和当前发布的chrome浏览器版本相近的chromedriver 实际使用感受 chrome浏览器会自动更新,可以去下载最新的chromedriver使用,自动化中使用新的chromedr…...

【HTML入门】Sublime Text 4与 Phpstorm
文章目录 前言一、环境基础1.Sublime Text 42.Phpstorm(1)安装(2)启动Phpstorm(3)“启动”码 二、HTML1.HTML简介(1)什么是HTML(2)HTML版本及历史(3)HTML基本结构 2.HTML简单语法(1)HTML标签语法(2)HTML常用标签(3)表格(4)特殊字符 总结 前言 在当今的软件开发领域,…...

Python----Python高级(并发编程:进程Process,多进程,进程间通信,进程同步,进程池)
一、进程Process 拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程由操作系统调度;进程切换需要的资源很最大,效率低。 对于操作系统来说,一个任务就是一个进程(Process)ÿ…...

汽车自动驾驶AI
汽车自动驾驶AI是当前汽车技术领域的前沿方向,以下是关于汽车自动驾驶AI的详细介绍: 技术原理 感知系统:自动驾驶汽车通过多种传感器(如激光雷达、摄像头、雷达、超声波传感器等)收集周围环境的信息。AI算法对这些传感…...

Linux之安装MySQL
1、查看系统当前版本是多少位的 getconf LONG_BIT2.去官网下载对应的MYSQL安装包 这里下载的是8版本的,位数对应之前的64位 官网地址:https://downloads.mysql.com/archives/community/ 3.上传压缩包 4.到对应目录下解压 tar -xvf mysql-8.0.26-lin…...

说说Redis的内存淘汰策略?
大家好,我是锋哥。今天分享关于【说说Redis的内存淘汰策略?】面试题。希望对大家有帮助; 说说Redis的内存淘汰策略? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 提供了多种内存淘汰策略,用于在内存达到限制时决定如何…...

SQL范式与反范式_优化数据库性能
1. 引言 什么是SQL范式 SQL范式是指数据库设计中的一系列规则和标准,旨在减少数据冗余、提高数据完整性和一致性。常见的范式包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF(Boyce-Codd范式)。 什么是SQL反范式 SQL反范式是指在满足范式要求的基础上,有…...

从BIO到NIO:Java IO的进化之路
引言 在 Java 编程的世界里,输入输出(I/O)操作是基石般的存在,从文件的读取写入,到网络通信的数据传输,I/O 操作贯穿于各种应用程序的核心。BIO(Blocking I/O,阻塞式 I/O࿰…...

Mysql:数据库
Mysql 一、数据库概念?二、MySQL架构三、SQL语句分类四、数据库操作4.1 数据库创建4.2 数据库字符集和校验规则4.3 数据库修改4.4 数据库删除4.4 数据库备份和恢复其他 五、表操作5.1 创建表5.2 修改表5.3 删除表 六、表的增删改查6.1 Create(创建):数据新增1&#…...

深度学习系列--01.入门
一.深度学习概念 深度学习(Deep Learning)是机器学习的分支,是指使用多层的神经网络进行机器学习的一种手法抖音百科。它学习样本数据的内在规律和表示层次,最终目标是让机器能够像人一样具有分析学习能力,能够识别文字…...

【Elasticsearch】`auto_date_histogram`聚合功能详解
1.功能概述 auto_date_histogram是 Elasticsearch 提供的一种时间分桶聚合功能,它可以根据数据分布自动调整分桶的间隔,以生成指定数量的分桶。与传统的date_histogram不同,auto_date_histogram不需要用户手动指定时间间隔,而是根…...

php7.3安装php7.3-gmp扩展踩坑总结
环境: 容器里面为php7.3.3版本 服务器也为php7.3.3-14版本,但是因为业务量太大需要在服务器里面跑脚本 容器里面为 alpine 系统,安装各种扩展 服务器里面开发服为 ubuntu 16.04.7 LTS (Xenial Xerus) 系统 服务器线上为 ubuntu 20.04.6 LTS (…...

7. k8s二进制集群之Kube ApiServer部署
创建kube工作目录(仅在主节点上创建即可)同样在我们的部署主机上创建apiserver证书请求文件根据证书文件生成apiserver证书仅接着创建TLS所需要的TOKEN创建apiserver服务的配置文件(仅在主节点上创建即可)创建apiserver服务管理配置文件对所有master节点分发证书 & TOK…...

QT笔记——多语言翻译
文章目录 1、概要2、多语言切换2.1、结果展示2.2、创建项目2.2、绘制UI2.2、生成“.st”文件2.4、生成“.qm”文件2.5、工程demo 1、概要 借助QT自带的翻译功能,实现实际应用用进行 “多语言切换” 2、多语言切换 2.1、结果展示 多语言切换 2.2、创建项目 1、文件…...