安装配置运行android studio on ubuntu

1. 安装

a) 安装java jdk

  • 下载jdk

     https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 或者 https://repo.huaweicloud.com/java/jdk/8u202-b08/
     ![download jdk](https://img-blog.csdnimg.cn/20200828104143846.png#pic_center)
    
  • 解压
    tar -xzvf jdk-8u202-linux-x64.tar.gz

  • 修改环境变量
    sudo vi ~/.bashrc

    在文件末尾添加
    export JAVA_HOME=/opt/jdk1.8.0_202
    export CLASS_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$PATH:$JAVA_HOME/bin

  • 使文件生效
    source ~/.bashrc

  • 测试
    java -version

b) 安装android studio

https://www.jianshu.com/p/f2900be205ca

  • 下载
    https://developer.android.com/studio 或 https://pan.baidu.com/s/1smdgGgxEVraDSoiIyWO9tg 密码: 94qs
  • 解压
    tar xzf android-studio-ide-193.6626763-linux.tar.gz
  • 安装
    cd android-studio/bin ./studio.sh
  • 创建图标
    android studio
    Configure -> Create Desktop Entry...

2. 配置

a) 安装genymotion模拟器

此部分参考:https://blog.youkuaiyun.com/gvvbn/article/details/100132582

  • 安装virtualbox
    sudo apt install virtualbox

  • 注册(personal use) on websit: https://www.genymotion.com

  • 下载https://www.genymotion.com/download/ (网盘链接: https://pan.baidu.com/s/1e4wSH05x6-SE4BrELAkSgQ 密码: ecfw)

  • 解压并安装
    sudo ./genymotion-3.0.2-linux_x64.bin

  • 打开genymotion创建android虚拟设备(ova链接: https://pan.baidu.com/s/1bXCWTS6Mi_7Uzm65n_zopA 密码: f6iu)

b) 安装genymotion插件

  • 打开android studio -> Configure -> plugin 搜索 genymotion。如果网速不行,可以离线安装(插件jar链接: https://pan.baidu.com/s/1TSJ8BZOTCBFdDvdqjFt7pQ 密码: 5v5m)
    install genymotion from disk

3. 新建项目helloworld并运行

此部分参考:https://blog.youkuaiyun.com/Todobot/article/details/105693883

  • 创建empty activity项目
    项目创建之后,会download gradle,如果download太慢,可以离线下载gradle(网盘链接: https://pan.baidu.com/s/1rpeyMPbcOBElySQGn7SDcg 密码: 1ptw)
    然后放到~/.gradle/wrapper/dists/gradle-6.1.1-all/cfmwm155h49vnt3hynmlrsdst目录下,然后把gradle-6.1.1-all.zip.part换成gradle-6.1.1-all.zip.ok
  • gradle sync完成之后, Build->make project
  • 点击genymotion device manager图标(红色),打开已安装的设备
    在这里插入图片描述
    在这里插入图片描述
  • 设备打开后工具栏会显示安装的phone,点击运行图标
    在这里插入图片描述
  • 然后会显示如下图
    在这里插入图片描述
### 如何在 Android Studio 中实现 App 自动化 #### 使用 Espresso 进行 UI 测试 Espresso 是 Google 推荐的一种用于测试 Android 应用程序的工具,它可以模拟用户行为并验证界面元素的行为是否符合预期。通过编写简单的 Java 或 Kotlin 代码,开发人员可以在 Android Studio 中轻松设置和执行自动化测试。 以下是使用 Espresso 编写基本 UI 测试的一个简单示例: ```java import androidx.test.espresso.Espresso; import androidx.test.espresso.action.ViewActions; import androidx.test.espresso.assertion.ViewAssertions; import androidx.test.espresso.matcher.ViewMatchers; import androidx.test.ext.junit.rules.ActivityScenarioRule; import org.junit.Rule; import org.junit.Test; public class MainActivityTest { @Rule public ActivityScenarioRule<MainActivity> activityRule = new ActivityScenarioRule<>(MainActivity.class); @Test public void testButtonFunctionality() { // 验证按钮是否存在 Espresso.onView(ViewMatchers.withId(R.id.button)) .check(ViewAssertions.matches(ViewMatchers.isDisplayed())); // 点击按钮 Espresso.onView(ViewMatchers.withId(R.id.button)).perform(ViewActions.click()); // 验证点击后的文本变化 Espresso.onView(ViewMatchers.withId(R.id.textView)) .check(ViewAssertions.matches(ViewMatchers.withText("Hello, World!"))); } } ``` 上述代码展示了如何利用 Espresso 来检测 `MainActivity` 中的按钮功能[^1]。 --- #### 使用 UiAutomator 执行跨应用测试 如果需要测试涉及多个应用程序的操作(例如分享内容到其他应用),可以考虑使用 UiAutomator 工具。UiAutomator 支持更高层次的应用间交互,并能访问设备上的任何可见控件。 下面是一个简单的 UiAutomator 脚本例子: ```java import android.support.test.uiautomator.UiDevice; import android.support.test.uiautomator.By; import android.support.test.uiautomator.Until; import org.junit.Before; import org.junit.Test; public class CrossAppTest { private UiDevice device; @Before public void setUp() throws Exception { device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); } @Test public void testShareContentToAnotherApp() { // 启动目标应用 device.launchActivity("com.example.app/.MainActivity"); // 查找并点击共享按钮 device.wait(Until.findObject(By.res("com.example.app:id/share_button")), 5000); device.findObject(By.res("com.example.app:id/share_button")).click(); // 切换至另一个应用完成操作 device.pressHome(); device.waitForIdle(2000); device.findObject(By.text("Other App Name")).click(); } } ``` 此脚本演示了如何启动一个应用并通过其界面上的特定控件触发动作[^4]。 --- #### 设置 CI/CD 环境以支持持续集成 为了进一步提升效率,还可以配置 Continuous Integration (CI)/Continuous Deployment (CD) 系统来自动运行这些测试。常用的工具有 Jenkins、Travis CI 和 GitHub Actions。以下是一段基于 GitHub Actions 的工作流文件模板: ```yaml name: Android CI on: push: branches: - main pull_request: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'zulu' - name: Install dependencies run: | sudo apt-get update && sudo apt-get install -y lib32stdc++6 ./gradlew assembleDebug assembleAndroidTest --stacktrace - name: Run tests run: ./gradlew connectedCheck ``` 这段 YAML 文件描述了一种方式,在每次提交或拉取请求时都会构建项目运行所有连接的单元测试和仪器测试[^2]。 --- #### 总结 以上介绍了三种主要途径帮助你在 Android Studio 上实施 app 自动化:借助 Espresso 完成内部 UI 功能验证;依靠 UiAutomator 达成更广泛的系统级互动检验;最后配合 CI 平台达成全流程无人值守部署流程优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值