1、 Android存储路径
在平常开发当中我们都会将文件保存在相应的目录当中 , 但是我们知道我们保存到的目录是哪个目录吗?按照存放的规则我们存放的准确吗?
1、外部存储卡(SD卡)
- SD卡的根目录 目录为/storage/emulated/0
Environment.getExternalStorageDirectory()
2、目录为 /storage/emulated/0/Android/data/packagename/cache
- (packagename为应用包名)
getExternalCacheDir()
3、目录为 /storage/emulated/0/Android/data/packagename/files
getExternalFilesDir(null)
4、内部存储(手机内部存储)
- 目录为 /data
getDataDir()
5、应用缓存目录 /data/data/packagename/cache
getCacheDir()
6、应用文件目录 /data/data/packagename/files
getFilesDir()
getCacheDir和getFilesDir目录必须是root的手机在文件操作系统中才能看到。如果在应用程序中清空数据或者卸载应用,那这两个目录下的文件也将会被清空。
getExternalCacheDir()与getExternalFilesDir(null)直接在文件系统下Android/data/packagename能看到。如果应用卸载,该目录下的文件会被删除掉。
Environment.getExternalStorageDirectory()目录下创建的文件不会因程序卸载被清除掉。
2、AndroidStudio Terminal的使用
gradlew assembleDebug --stacktrace
查看使用的依赖的
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
com.android.build.api.transform.TransformException: Error while generating the main dex list
这个问题多半是依赖重复导致的
在android studio Terminal 输入 gradlew assembleDebug --stacktrace
来查到具体问题
例如:
Caused by: com.android.tools.r8.errors.CompilationError: Program type already present: it.s
ephiroth.android.library.imagezoom.ImageViewTouch$OnImageViewTouchDoubleTapListener it.sephiroth.android.library.imagezoom。这个包重复。
解决办法:
1、自己添加了两个:
删掉一个就可以。
2、如果是在第三包里有引用,自己又引入(在哪个第三方的这个不好找,凭自觉了)
删掉自己引入的或把第三方里面的去除
api ('com.xxx.xxxx.xxx'){
exclude group: 'it.sephiroth.android.library.imagezoom'
}
FAQ:
Android studio 出现错误Run with --stacktrace option to get the stack trace. Run with --info or --debu
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
其实是让你去查看更多的log信息。找到你项目的根目录,比如你的项目是MyApplication,在dos命令下进入该目录执行
gradlew compileDebug --stacktrace
如果上面的命令不管用,可以使用下面的命令试试
gradle compileDebug --stacktrace
可以看到很多错误的信息输出出来。
命令列表:
gradlew compileDebug --stacktrace or
gradle compileDebug --stacktrace
gradlew compileDebug --info
gradlew compileDebug --debug