我知道可以通过“设置”对话框关闭即时运行,但我希望能够通过 gradle 构建脚本本身的属性将其关闭。因此,无论 Android Studio 的哪个实例加载此项目,它都不会在启用即时运行的情况下构建。
这可能吗?
我已经在我的项目中苦苦挣扎了几天,突然从一个构建/部署到另一个我开始得到以下异常.没有更新或更改,我只是想在它发生时在不同的设备上运行应用程序(就像其他任何一天真的一样).
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.app.flavor.debug/com.my.app.ui.activity.WelcomeActivity}: java.lang.ClassNotFoundException: Didn't find class "com.my.app.flavor.ui.activity.WelcomeActivity" on path: DexPathList[[zip file "/data/app/com.my.app.flavor.debug-2/base.apk"],nativeLibraryDirectories=[/data/app/**com.my.app.flavor.**debug-2/lib/x86, /data/app/com.my.app.flavor.debug-2/base.apk!/lib/x86, /vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.my.app.ui.activity.WelcomeActivity" on path: DexPathList[[zip file "/data/app/com.my.app.flavor.debug-2/base.apk"],nativeLibraryDirectories=[/data/app/com.my.app.flavor.debug-2/lib/x86, /data/app/com.my.app.flavor.debug-2/base.apk!/lib/x86, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native …Run Code Online (Sandbox Code Playgroud) android classnotfoundexception dex android-studio android-instant-run
当我更新到Android Studio 3.1时,Instant Run功能(热插拔,热插拔)停止工作.
每次当我点击Apply Changes(即时运行Flash选项)时,Android Studio都会为棒棒糖上方的每个操作系统重新启动我的应用程序(即使是小UI更改).(在物理设备和模拟器上)
我的即时运行设置 -
我试过了 -
没有什么对我有用.请帮助我,并告诉我我需要的更多信息.
更新: -
我的顶级Gradle代码 -
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
classpath 'com.google.gms:google-services:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" …Run Code Online (Sandbox Code Playgroud) 每当我运行带有这些细节的项目时,我在Android Studio中收到错误:
null
java.lang.NullPointerException
at com.android.tools.idea.run.tasks.InstantRunNotificationTask.<init>(InstantRunNotificationTask.java:63)
at com.android.tools.idea.fd.InstantRunBuildAnalyzer.getNotificationTask(InstantRunBuildAnalyzer.java:178)
at com.android.tools.idea.run.AndroidLaunchTasksProvider.getTasks(AndroidLaunchTasksProvider.java:120)
at com.android.tools.idea.run.LaunchTaskRunner.run(LaunchTaskRunner.java:102)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:726)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:176)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:556)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:137)
at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
我已经尝试重新安装SDK,插件并重新启动所有内容.不确定还有什么可能出错.
java android nullpointerexception instant-run android-instant-run
我最近更新了Android Studio和build.gradle版本3.2.0-beta01.
当我构建并运行项目!zip.isFile()时出现以下信息错误:
引起:java.lang.IllegalArgumentException:java.lang.IllegalArgumentException:!zip.isFile()
org.gradle.api.tasks.TaskExecutionException:任务':app:transformDexWithInstantRunSlicesApkForDebug'的执行失败.
我在运行时使用getIdentifier方法使用以下代码从 drawable-hdpi 获取图像 ID
mContext.getResources().getIdentifier(mContext.getPackageName() + ":drawable/" + mCur.getString(mCur.getColumnIndex(Constant.COLUMN_IMAGE_DRAWABLE)), null, null)
Run Code Online (Sandbox Code Playgroud)
我也试过以下方法
mContext.getResources().getIdentifier(mCur.getString(mCur.getColumnIndex(Constant.COLUMN_IMAGE_DRAWABLE))+"", "drawable", mContext.getPackageName());
Run Code Online (Sandbox Code Playgroud)
并使用以下代码设置图像资源
imgPosotion.setImageResource(item.getDrawable());
Run Code Online (Sandbox Code Playgroud)
当我从 android studio 打开即时运行时,它们都可以工作,但不幸的是,当我从 android studio 关闭即时运行功能时,它们都不起作用。我在调试和发布时使用 Proguard 使用以下代码
release {
debuggable true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
Run Code Online (Sandbox Code Playgroud)
观察到的场景 图像未显示。代码运行完美并在即时运行时显示图像。我进行发布构建然后反编译它,我观察到图像(.png 扩展名)在 res/drawable-hdpi 文件夹中,但大小被转换为 1*1 维(67 字节),当我试图打开只有一个点可见当我尝试打开 jpg(转换为 0 字节大小)文件时,它们没有打开。
预期场景 图像必须可见 采取的解决措施 使图像尺寸变小 将图像从 .png 转换为 jpg 我坚持这个问题,所以请帮助我。感谢,如果有人可以帮助排除故障。
android android-imageview android-drawable android-proguard android-instant-run
目前,我正在从事React Native Project,当我在运行Project之后摇动手机时,它会提供实时更新。因为我也曾与Flutter合作,所以它也为我提供了相同的OutPut。但是,在Android中,有一个称为“即时运行”的功能。
我已经用Google搜索了即时运行。并且某些结果有所不同。AndroidStudio的“即时运行”不是“热重装”。
因此,我想知道即时运行和热装的工作和功能上的显着区别是什么?
我已经更新了最新版本的android studio(2.1).在文档中提到android studio最新版本将支持android studio的即时运行功能中的热暖和冷交换.
谁能告诉我热交换和冷交换有什么区别
今天我陷入一个奇怪的问题,我的应用程序突然停止在我的USB插入设备上工作.但是它可以在其他真实设备和模拟器设备上正常运行.
屏幕上的错误对话框正常:不幸的是"您的应用名称"已停止.
要获取错误消息,我在调试模式下运行我的应用程序并看到:
FATAL EXCEPTION: main
Process: com.yourapp.packagename, PID: 20036
java.lang.RuntimeException: Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: android.support.multidex.MultiDexApplication
at android.app.LoadedApk.makeApplication(LoadedApk.java:676)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6294)
at android.app.ActivityThread.access$1800(ActivityThread.java:222)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1861)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.IllegalStateException: java.lang.ClassNotFoundException: android.support.multidex.MultiDexApplication
at com.android.tools.fd.runtime.BootstrapApplication.createRealApplication(BootstrapApplication.java:220)
at com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext(BootstrapApplication.java:239)
at android.app.Application.attach(Application.java:211)
at android.app.Instrumentation.newApplication(Instrumentation.java:1020)
at android.app.Instrumentation.newApplication(Instrumentation.java:1004)
at android.app.LoadedApk.makeApplication(LoadedApk.java:666)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6294)
at android.app.ActivityThread.access$1800(ActivityThread.java:222)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1861)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.ClassNotFoundException: android.support.multidex.MultiDexApplication …Run Code Online (Sandbox Code Playgroud) 我已经安装了Android Studio 2.3.2版本,我的应用程序已在模拟器以及移动设备上成功运行。进行一些更改后,它无法在移动设备上运行,但在模拟器中可以正常工作。
事件日志:
12:55 PM Instant Run performed a full build and install since
the installation on the device does not match the local build on disk.
(Don't show again)
12:55 PM Instant Run detected that you are running on a target device that has a work profile or multiple user accounts.
Launching the app under a work profile or another user account on the target device will result in a crash.
Learn more about how to run your …Run Code Online (Sandbox Code Playgroud) android ×9
instant-run ×2
build.gradle ×1
dex ×1
flutter ×1
gradle ×1
hot-reload ×1
java ×1
react-native ×1