Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)

简介: Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)

APP运行环境

APP是在手机上运行的一类应用软件,而应用软件依附于操作系统。

为了提供App开发的功能测试环境,一种办法是利用Android Studio创建内置的模拟器,然后启动内置模拟器,再在模拟器上运行App应用 具体步骤参考我这篇博客模拟器创建

另一种办法是使用真实手机测试App,该办法在实际开发中更为常见,由于模拟器本身跑在电脑上面,占用电脑的CPU和内存,会拖累电脑的运行速度,况且模拟器仅仅是模拟而已,无法完全验证App的所有功能,因此最终都得通过真机测试才可以

下面介绍真机调试的五个步骤

1:使用数据线把手机连到电脑上

把手机数据线的一段接到电脑的USB接口即可

2:在电脑上安装手机的驱动程序

一般电脑会把手机当作USB存储设备一样安装驱动,大多是情况会自动安装成功,如果遇到少数情况安装失败,需要先安装**手机助手,由助手软件下载对应驱动

3:打开手机的开发者选项并启用USB调试(重要!!!)

手机出厂后默认关闭开发者选项,需要开启开发者选项才能调试App,打开手机的设置菜单,进入系统-关于手机-版本信息页面 一般会有好几个版本项,每个版本项都点击几次,总会有某个版本点击后出现“你将开启开发者模式”的提示(每个手机不一样 这个大家随缘)继续点击该版本开启开发者模式,然后退出并重新进入设置页面。此时就能在系统菜单下找到开发者选项或开发人员选项了,进入开发者选项页面。启用“开发者选项”和“USB调试”两处开关,允许手机通过USB接口安装调试应用

4:将连接的手机设为文件传输模式,并允许计算机进行USB调试

手机通过USB数据线连接电脑后,下面要选中传输文件的选项,因为充电模式不支持调试App

选完之后弹出第二个窗口,要勾选始终允许使用

5:手机要能正常使用

锁屏状态下 Android Studio向手机安装App的行为可能会被拦截,所以要保证手机处于解锁状态 才能顺利通过电脑安装App到手机上

有的手机还要求插入SIM卡才能调试App,还有的手机要求登录会员等等,总之遇到问题可以多上网搜搜,在评论区留言大家一起解决

App的开发语言

1:Java

Java是Android开发的主要编程语言,创建新项目时语言一般选择Java

2:Kotlin

它时谷歌官方力推的一种编程语言,它与Java同样基于JVM且完全兼容Java语言,一旦创建新项目时语言选择Kotlin,项目就会自动加载它的插件

3:C/C++

设计图像与音视频处理等复杂运算的场合,Java等解释型语言的性能瓶颈就暴露出来了,所以借助于JNI(Java Native Interface java原生接口)技术允许Java代码调用C/C++编写的程序。

4:XML

全程为可扩展标记语言,是一种标记语言,类似于HTML

5:App连接的数据库

App上是无法连接MYSQL Oracle等企业级的数据库的,Android内置了专门的数据库名为SQLite,它遵循关系数据库的设计理念,语法类似于Mysql,但是SQLite无须单独安装,因为它已经内嵌到应用进程当中,所以App无须配置连接信息。

App的工程结构

1:app模块

(1):manifests子目录

下面只有一个XML文件 即AndroidManifest.xml它是App的运行配置文件

(2):java子目录

下面有三个包,第一个包存放当前模块的Java源代码,后面两个包存放测试用的Java代码

(3):res子目录

存放当前模块的资源文件

2:Gradle Scripts

下面主要是工程的编译配置文件

编译配置文件build.gradle

由于官方的谷歌仓库位于国外,下载速度相对较慢,因此可以在repositories节点添加阿里云的仓库地址,加快下载速度 代码如下

buildscript{
repositories{
maven{url 'https://maven.aliyun.com/repository/jcenter'}
maven{url 'https://maven.aliyun.com/repository/google'}
maven{url 'https://maven.aliyun.com/repository/gradle-plugin'}
maven{url 'https://maven.aliyun.com/repository/public'}
google()
mavenCentral()
}
dependencies{
classpath'com.android.tools.build:gradle:4.1.0'
}
}

模块级别的build.gradle对应于具体模块 下面给出注释,方便大家理解每个参数的用途

apply plugin: 'com.android.application'
android {
    // 指定编译用的SDK版本号。比如30表示使用Android 11.0编译
    compileSdkVersion 30
    // 指定编译工具的版本号。这里的头两位数字必须与compileSdkVersion保持一致,具体的版本号可在sdk安装目录的“sdk\build-tools”下找到
    buildToolsVersion "30.0.2"
    defaultConfig {
        // 指定该模块的应用编号,也就是App的包名
        applicationId "com.example.chapter02"
        // 指定App适合运行的最小SDK版本号。比如19表示至少要在Android 4.4上运行
        minSdkVersion 19
        // 指定目标设备的SDK版本号。表示App最希望在哪个版本的Android上运行
        targetSdkVersion 30
        // 指定App的应用版本号
        versionCode 1
        // 指定App的应用版本名称
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
// 指定App编译的依赖信息
dependencies {
    // 指定引用jar包的路径
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // 指定编译Android的高版本支持库。如AppCompatActivity必须指定编译appcompat库
    //appcompat库各版本见 https://mvnrepository.com/artifact/androidx.appcompat/appcompat
    implementation 'androidx.appcompat:appcompat:1.2.0'
    // 指定单元测试编译用的junit版本号
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

运行配置文件AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication"
        tools:targetApi="31">
        <activity android:name=".Main2Activity">
        </activity>
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
        </activity>
    </application>
</manifest>

部分属性说明如下

android:allowBackup 是否允许备份

android:icon 指定App在手机屏幕上显示的图标

android:label 指定App在手机屏幕上显示的名称

android:roundIcon:指定App的圆角图标

android:supportsRtl 是否支持阿拉伯语这种从右往左的语言

android:theme 指定App的显示风格

运行效果如下 "Hello World"

 

相关文章
|
12天前
|
开发者 iOS开发
【教程】无法验证 app 需要互联网连接以验证是否信任开发者
【教程】无法验证 app 需要互联网连接以验证是否信任开发者
|
12天前
|
Android开发
Android应用实例(一)之---有道辞典VZ.0
Android应用实例(一)之---有道辞典VZ.0
15 2
|
3天前
|
安全 定位技术 网络安全
禁止应用在模拟器上运行的方案及app安全问题
禁止应用在模拟器上运行的方案及app安全问题
10 1
|
12天前
|
Android开发
Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。
Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。 【5月更文挑战第2天】
23 0
|
12天前
|
Android开发 C++
Android P HAL层添加HIDL实例
Android P HAL层添加HIDL实例
18 0
|
12天前
|
Java 测试技术 Linux
Android Studio安装超详细步骤
安装Android Studio涉及多个步骤,包括**安装JDK 1.8**,配置`JAVA_HOME`和`PATH`环境变量。然后从**官方地址**下载并安装Android Studio。启动时初始化环境,通过SDK Manager安装必要的SDK Tools。配置**ANDROID_HOME**环境变量,并在`PATH`中添加SDK相关目录。确保**adb**和**emulator**命令可执行,并可能需要将build-tools降级至兼容JDK 1.8的版本(如29)。这些步骤对于设置App自动化测试环境至关重要。
50 3
|
12天前
|
移动开发 数据安全/隐私保护
HC05蓝牙模块与手机APP连接
HC05蓝牙模块与手机APP连接
79 1
|
12天前
uni-app 62websocket连接权限验证和强制下线
uni-app 62websocket连接权限验证和强制下线
31 3
|
12天前
|
算法 数据库 Android开发
安卓逆向 -- APK文件结构
安卓逆向 -- APK文件结构
27 0
|
12天前
|
监控 数据安全/隐私保护 Android开发
智能家电设备连接下载安装APP
智能家电设备连接下载安装APP
40 7

热门文章

最新文章