Android 开发小总结

Posted 让开,我要吃人了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 开发小总结相关的知识,希望对你有一定的参考价值。

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

以上是关于Android 开发小总结的主要内容,如果未能解决你的问题,请参考以下文章

Android小部件,启动一个片段?

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)

微信小程序代码片段

Android开发常用代码片段

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

VS中添加自定义代码片段——偷懒小技巧