Caused by: java.lang.ClassNotFoundException: Didn't find class "io.grpc.helloworldexample.HelloworldActivity" on path: DexPathList
FAQ: Android app 编译好后安装到手机,运行时闪退,报如下错误:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{io.grpc.helloworldexample/io.grpc.helloworldexample.HelloworldActivity}: java.lang.ClassNotFoundException: Didn't find class "io.grpc.helloworldexample.HelloworldActivity" on path: DexPathList[[zip file "/data/app/io.grpc.helloworldexample-aHJfGmXKi-KoAnqDIRZHhQ==/base.apk"],nativeLibraryDirectories=[/data/app/io.grpc.helloworldexample-aHJfGmXKi-KoAnqDIRZHhQ==/lib/arm64, /system/lib64, /vendor/lib64]]
问题原因:
重复拷贝工程,并且重名工程都在as中打开过,导致as产生混淆,找不到相应类:
解决办法:
直接禁用Instant run, 这个效果最直接
disable Instant Run Go to File -> Settings -> Build,Execution, Deployment -> Instant Run -> Uncheck the checkbox for instant run. Run your app once and this apk file work properly..
试了下下面其他的办法,对GRPC上的这个问题解决没有效果,只能禁用即时编译,看来这个即时编译就是一个摆设,不实用,毛病问题太多!!!
其他的解决办法(供参考):
DELETE THAT FOLDER .gradle.
deleted "build" folder under "app" folder.
Change the application name in AndroidManifest to full path
Clean Project
Rebuild Project
Build APK
My problem solved using use multi dex:
android {
defaultConfig {
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies
{
compile 'com.android.support:multidex:1.0.0'
}
// in AndroidManifest.xml:
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
public class MyApplication extends MultiDexApplication
Make sure this Diable preDexLibraries
In your app module .gradle file
android {
dexOptions {
preDexLibraries false
}
}
相关文章
- java局域网发送文件_Java如何实现局域网文件传输代码案例分享
- JAVA Class类与反射
- java pfx_如何在Java中读取.pfx文件的内容?
- java从入门到精通_Java 入门到精通的过程
- java怎么运行_怎样启动JAVA?「建议收藏」
- 在线学习Java的几个网站,别再盲目学习java了![通俗易懂]
- java实现ajax_Ajax&Java
- java 汉字乱码_Java中文乱码问题
- piggycase_java状态机设计
- java 反射getmethod_Java 反射机制中 getMethod()和getDeclaredField()区别
- 微信开发SDK java版,支持maven;微信Java开发工具包,支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等微信功能模块的后端开发。
- java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用[通俗易懂]
- 阿里巴巴Java开发手册(华山版)
- java雪花算法实现
- MD5加密算法Java代码详解手机开发
- Java Socket 编程原理及教程详解编程语言
- Java实现文件断点续传详解编程语言
- 年终盘点:Java今年的大事记都在这里!详解编程语言
- Java微信支付全教程demo【公众号支付】详解编程语言
- Linux上部署Java项目实践指南(linux部署java项目)
- 使用Java设置Redis密码(redis密码java)
- 深入学习:Linux下Java环境建设与配置(linux下java环境)
- Deploying Java on Linux: A Simple Guide for Beginners.(linux上部署java)
- 如何在Java中使用Oracle JDBC连接?(oracle连接jdbc)
- 版本Linux查看Java版本的简单方法(linux 查看java)
- 深入认识Java面试与MySQL及其思考(java面试mysql)
- Linux查看Java安装路径:一步一步了解(linux查看java安装路径)
- MySQL中使用ON子句进行精准查询(mysql中on子句查询)
- 数据库一步一步教你Java如何恢复Oracle数据库(java恢复oracle)
- 数据库Java编程修改Oracle数据库的实践(java修改oracle)
- Redis面试中Java相关技术面试题汇总(redis面试题java)
- java多线程中的异常处理机制简析
- java字符串拼接与性能分析详解