Android Studio禁用 install run

最近在尝试在项目中接入腾讯的热修复方案-Tinker

在github上面把给出的官方sample clone下来之后想运行在虚拟机上,报错了,如下:

Tinker does not support instant run mode, please trigger build by assembleDebug or disable instant run in 'File->Settings...'.

于是去把install run给禁用掉,

版本信息:

Android Studio 3.2
Build #AI-181.5540.7.32.5014246, built on September 18, 2018
JRE: 1.8.0_152-release-1136-b06 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6

菜单栏 -> Android Studio -> Preferences… -> 然后如下图所示:
在这里插入图片描述

最后取消勾选红色框框框起来的那个选项,

apply -> ok

完毕!

### 如何在 Android Studio 中开发 RTK 相关应用 #### 创建新项目 为了开始基于DJI Matrice 300 RTK的应用程序开发,在Android Studio中创建一个新的项目是一个合理的起点。选择“Empty Activity”模板作为项目的开端[^2]。 #### 配置构建文件 确保`build.gradle`配置正确无误非常重要,因为不兼容的Gradle版本可能会引发诸如`INSTALL_FAILED_TEST_ONLY`这样的错误。尽管有时即使使用稳定版也可能出现问题,但建议始终采用官方推荐的最新稳定版本,并禁用Instant Run特性以减少潜在冲突的可能性[^3]。 ```groovy android { ... defaultConfig { ... testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" minSdkVersion 21 // 或者根据需求调整最低支持API级别 } } dependencies { implementation 'com.dji:dji-sdk:4.7' // 使用适当版本号替换这里的4.7 compileOnly 'com.dji:dji-sdk-provided:4.7' } ``` #### 初始化 DJI SDK 和权限设置 按照DJI提供的指南完成SDK初始化工作流,这通常涉及获取密钥并将其注册到应用程序清单中。同时要记得请求必要的运行时权限以便访问飞行控制器和其他硬件资源[^1]。 ```xml <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!-- 更多权限声明 --> <meta-data android:name="com.dji.sdk.API_KEY" android:value="${djiAppKey}" /> ``` #### 访问资产文件 对于某些特定操作可能需要用到原生接口来处理APK包内的资源文件。此时可以通过JNI桥接调用来利用C/C++层面上的功能实现更高效的读取方式[^4]: ```cpp extern "C" JNIEXPORT jstring JNICALL Java_com_example_rtkapp_MainActivity_getAssetContent(JNIEnv* env, jobject /* this */, jobject assetManager){ AAssetManager* mgr = AAssetManager_fromJava(env, assetManager); AAsset* asset = AAssetManager_open(mgr, "example.txt", AASSET_MODE_BUFFER); char buffer[BUFSIZ]; int bytesRead; std::stringstream ss; while ((bytesRead = AAsset_read(asset, buffer, BUFSIZ)) > 0) { ss << std::string(buffer, bytesRead); } AAsset_close(asset); return env->NewStringUTF(ss.str().c_str()); } ``` 通过上述步骤可以在Android平台上建立一个基本框架来进行RTK相关的开发活动。需要注意的是实际应用场景下还需要考虑更多细节比如网络连接状态监测、数据同步机制设计等方面的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值