首页 文章 精选 留言 我的

精选列表

搜索[tiny],共427篇文章
优秀的个人博客,低调大师

Spark - A tiny Sinatra inspired framework for creating web application...

Spark - A tinySinatrainspired framework for creating web applications in Java 8 with minimal effort Quick start import static spark.Spark.*; public class HelloWorld { public static void main(String[] args) { get("/hello", (req, res) -> "Hello World"); } } Run and view http://localhost:4567/hello Built for productivity Spark is a simple and lightweight Java web framework built for rapid development. Spark's intention isn't to compete with Sinatra, or the dozen of similar web frameworks in different languages, but to provide a pure Java alternative for developers that want to, or are required to, develop in Java. Spark focuses on being as simple and straight-forward as possible, without the need for cumbersome (XML) configuration, to enable very fast web application development in pure Java with minimal effort. It’s a totally different paradigm when compared to the overuse of annotations for accomplishing pretty trivial stuff seen in other web frameworks, for example, JAX-RS implementations. Why use Spark? If you're a Java developer with neither the urge nor time to learn a new programming language, and you're not planning to build a super large web application that scales in all directions, then Spark might be a great web framework for you. It will have you up and running in minutes, and you won't have to think too much about configuration and boilerplate code (like you often have to in other Java web frameworks, like Spring or Vaadin). Why not use Sinatra? If you're an experienced Ruby developer, or have experience with languages with similar syntax, you should definitely use Sinatra. However, if you're a Java developer and want to get the benefits you get from Sinatra without having to learn a new language, Spark is a really good alternative. Spark is a simple and lightweight Java web framework that doesn't get in your way! Why not go with JAX-RS? JAX-RS made life easier for Java web developers when it arrived. However, it's a bit messy due to the overuse of annotations for accomplishing pretty trivial things. The annotation magic also makes things more implicit, and it's not always easy to get a clear understanding of what's going on. For people who are new to web frameworks and REST, Spark will have you up and running much faster than using one of the JAX-RS implementations. Spark is created and maintained by Per Wendel. Logo and website by David Åse

优秀的个人博客,低调大师

Tiny4412 Android5.0 定制MTP显示的名字

找到frameworks/base/media/java/android/mtp/MtpDatabase.java 找到以下方法: private int getDeviceProperty(int property, long[] outIntValue, char[] outStringValue) 对应的一个switch语句,找到以下case分支: case MtpConstants.DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME: 一般会看到这样的语句: String value = mDeviceProperties.getString(Integer.toString(property), ""); 在""中添加自己想要在PC上显示的内容即可。

优秀的个人博客,低调大师

琅琊风云榜:对话Tiny框架创始人罗果

以下是访谈实录: 一 王友强: 罗总您好,请您介绍下您的从业经历吧? 罗果:从业经历么?这个不太好回答,网友们问到这个问题的话,我一般都回答有3年工作经验,本来我也觉得好像哪里不对,不过想想右军也就十八岁,我这个也偏差不大。 工作先是在东软,东软非常不错,就是东北比较冷,于是来到杭州。 现在在恒生,恒生也是家好公司,这不一呆就这么多年过去了。 2013年开始试水开源,一路走来感觉非常充实,也非常感谢恒生在这方面的开放与支持。 二 王友强:了解到罗总写了一本《企业级Java EE架构设计精深实践》 能介绍下写这本书的背景么? 罗果:其实,做企业级架构这么多年了,也有一些自己的心得,不一定都是最好的,但都是我们尽可能往好了做的,都是扎扎实实的实践,许多实践也是经受住了应用过程的种种考验。 当然,有可能有许多同学也有类似的问题,也就需要在这些领域踩坑,那么

优秀的个人博客,低调大师

ubuntu17.04编译Tiny4412 Android5.0源代码

跟着ubuntu12.04一样,我解开了4412的Android5.0源代码。 因为前面这篇文章已经安装了一些开发环境,所以这里不再哆嗦。 还是和这篇文章一样的: http://blog.csdn.net/morixinguan/article/details/70190518 遇到下面这个错误: 那么,这次就有经验了,直接用下面这个解决方法: clang编辑器的问题,在art/build/Android.common_build.mk 中将host 默认编辑器使用clang关掉,找到WITHOUT_HOST_CLANG 关闭clang: #Host. ART_HOST_CLANG := false ifneq ($(WITHOUT_HOST_CLANG),true) # By default, host builds use clang for better warnings. ART_HOST_CLANG := false endif 本以为平安无事,既然Android6.0都编译通过了,5.0应该是没问题的,没想到的事,接下来报了下面的这个错误: 我去,感觉神坑,为什么ubuntu17.04没有做到上下兼容: 最开始是遇到下面这个错误: libnativehelper/JniConstants.cpp:103: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:104: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:105: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:106: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:107: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:108: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:109: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:110: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:111: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:112: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:113: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:114: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:115: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:116: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:117: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:118: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:119: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:120: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:121: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:122: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:123: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:124: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:125: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:126: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:127: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:128: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:129: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:130: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:131: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:132: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:133: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:134: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:135: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:136: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:137: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:138: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:139: error: unsupported reloc 43 libnativehelper/JniConstants.cpp:140: error: unsupported reloc 43 libnativehelper/toStringArray.cpp:21: error: unsupported reloc 43 libnativehelper/toStringArray.cpp:21: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:40: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:45: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 clang: error: linker command failed with exit code 1 (use -v to see invocation) host C++: libc++ <= external/libcxx/src/algorithm.cpp host C++: libc++ <= external/libcxx/src/bind.cpp build/core/host_shared_library_internal.mk:44: recipe for target 'out/host/linux-x86/obj32/lib/libnativehelper.so' failed make: *** [out/host/linux-x86/obj32/lib/libnativehelper.so] Error 1 make: *** 正在等待未完成的任务....于是找到解决方法: cp /usr/bin/ld.gold <source_android>/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld 然后make update-api,在make 解决地址:http://blog.csdn.net/u014770862/article/details/52624851 本以为平安无事,结果,又出现了下面的错误: 于是又找到对于的解决方法: 也就是下面这个帖子: http://stackoverflow.com/questions/35134193/make-aosp-out-host-linux-x86-obj-lib-libc-so-error-1-when-building-cya I'm trying to build Cyanogenmod 12.1 for a device for which there already exist nightlies (hlte - Samsung Galaxy Note 3), but am encountering some problems building. I'm using a Ubuntu 14.04-based Docker container (Dockerfile at https://github.com/jameshiew/docker-aosp-builder/blob/a3fef049e9963db42a9168207d590a82638181b7/Dockerfile) - I've tried to match the environment as described at https://source.android.com/source/initializing.html as closely as possible. The first thing I did was do repo init -u https://github.com/CyanogenMod/android.git -b cm-12.1 in a blank directory then repo sync which all checked out fine. Then I did breakfast cm_hlte-userdebug (to check out repos relevant to my device) then added <project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" /> to a local manifest and repo synced again to get propietary blobs for my device. I then did lunch cm_hlte-userdebug && mka but kept getting odd errors of the sort libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 thrown about. After looking at this discussion on Cyanogenmod's gerrit by people having the same problem - http://review.cyanogenmod.org/#/c/120824/ - and another discussion on Debian's bug tracker - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808206), I did make clean, cleared the ccache and tried WITHOUT_HOST_CLANG=true mka. The build progressed further (no more unsupported reloc errors) but now (in separate two runs) it is stopping at the same point (error output below). The main error is: prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [/aosp/out/host/linux-x86/obj/lib/libc++.so] Error 1 Fuller output: Install: /aosp/out/host/linux-x86/lib/libc++.so ... prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_handlers.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(exception.o): multiple definition of 'std::unexpected()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_handlers.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_alloc::what() const' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_length::what() const' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_new_length::what() const' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_alloc::~bad_alloc()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_length::~bad_array_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_new_length::~bad_array_new_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_length::~bad_array_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_length::~bad_array_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_new_length::~bad_array_new_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_new_length::~bad_array_new_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_alloc::~bad_alloc()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_alloc::~bad_alloc()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::set_new_handler(void (*)())' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_handlers.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::get_new_handler()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_handlers.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_alloc::bad_alloc()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_alloc::bad_alloc()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_new_length::bad_array_new_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_length::bad_array_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_new_length::bad_array_new_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(new.o): multiple definition of 'std::bad_array_length::bad_array_length()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(cxa_new_delete.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::logic_error::what() const' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::runtime_error::what() const' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::runtime_error::~runtime_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::underflow_error::~underflow_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::underflow_error::~underflow_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::underflow_error::~underflow_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::overflow_error::~overflow_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::overflow_error::~overflow_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::overflow_error::~overflow_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::range_error::~range_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::range_error::~range_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::range_error::~range_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::runtime_error::~runtime_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::runtime_error::~runtime_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::logic_error::~logic_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::out_of_range::~out_of_range()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::out_of_range::~out_of_range()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::out_of_range::~out_of_range()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::length_error::~length_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::length_error::~length_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::length_error::~length_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::invalid_argument::~invalid_argument()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::invalid_argument::~invalid_argument()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::invalid_argument::~invalid_argument()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::domain_error::~domain_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::domain_error::~domain_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::domain_error::~domain_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::logic_error::~logic_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): multiple definition of 'std::logic_error::~logic_error()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(stdexcept.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_cast::what() const' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_typeid::what() const' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_typeid::~bad_typeid()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_typeid::~bad_typeid()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_typeid::~bad_typeid()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_cast::~bad_cast()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_cast::~bad_cast()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_cast::~bad_cast()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_cast::bad_cast()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_typeid::bad_typeid()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_cast::bad_cast()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): multiple definition of 'std::bad_typeid::bad_typeid()' prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: /aosp/out/host/linux-x86/obj/STATIC_LIBRARIES/libc++_intermediates/libc++.a(typeinfo.o): previous definition here clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [/aosp/out/host/linux-x86/obj/lib/libc++.so] Error 1 make: *** Waiting for unfinished jobs.... Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. make: Leaving directory `/aosp' I have looked around quite a bit but am not sure what the problem might be at this point; whether it's related to the compiler, the checked out code (or lack of), the environment, or something else. Would anyone have some hint at a glance of what the problem might be? android-source cyanogenmod share improve this question asked Feb 1 '16 at 15:26 James Hiew 151 1 15 add a comment 后面怎么解决,看开帖子的回复: You can try this in your android root path:cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld 这次就成功了,哎,太坑。。。。

优秀的个人博客,低调大师

Tiny4412 Android5.0 定制media codecs相关的格式(二)

http://blog.csdn.net/morixinguan/article/details/73149058 上一节说到4412的在Android 5.0源代码中支持了许多的格式,那么这些格式最终又是怎么确定的呢? 找到以下这个文件: android-5.0.2/frameworks/base/media/java\android/media/MediaFile.java /* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media; import android.media.DecoderCapabilities; import android.media.DecoderCapabilities.VideoDecoder; import android.media.DecoderCapabilities.AudioDecoder; import android.mtp.MtpConstants; import java.util.HashMap; import java.util.List; import java.util.Locale; /** * MediaScanner helper class. * * {@hide} */ public class MediaFile { //定义变量,用来描述对应的格式的变量 // Audio file types public static final int FILE_TYPE_MP3 = 1; public static final int FILE_TYPE_M4A = 2; public static final int FILE_TYPE_WAV = 3; public static final int FILE_TYPE_AMR = 4; public static final int FILE_TYPE_AWB = 5; public static final int FILE_TYPE_WMA = 6; public static final int FILE_TYPE_OGG = 7; public static final int FILE_TYPE_AAC = 8; public static final int FILE_TYPE_MKA = 9; public static final int FILE_TYPE_FLAC = 10; private static final int FIRST_AUDIO_FILE_TYPE = FILE_TYPE_MP3; private static final int LAST_AUDIO_FILE_TYPE = FILE_TYPE_FLAC; // MIDI file types public static final int FILE_TYPE_MID = 11; public static final int FILE_TYPE_SMF = 12; public static final int FILE_TYPE_IMY = 13; private static final int FIRST_MIDI_FILE_TYPE = FILE_TYPE_MID; private static final int LAST_MIDI_FILE_TYPE = FILE_TYPE_IMY; // Video file types public static final int FILE_TYPE_MP4 = 21; public static final int FILE_TYPE_M4V = 22; public static final int FILE_TYPE_3GPP = 23; public static final int FILE_TYPE_3GPP2 = 24; public static final int FILE_TYPE_WMV = 25; public static final int FILE_TYPE_ASF = 26; public static final int FILE_TYPE_MKV = 27; public static final int FILE_TYPE_MP2TS = 28; public static final int FILE_TYPE_AVI = 29; public static final int FILE_TYPE_WEBM = 30; private static final int FIRST_VIDEO_FILE_TYPE = FILE_TYPE_MP4; private static final int LAST_VIDEO_FILE_TYPE = FILE_TYPE_WEBM; // More video file types public static final int FILE_TYPE_MP2PS = 200; private static final int FIRST_VIDEO_FILE_TYPE2 = FILE_TYPE_MP2PS; private static final int LAST_VIDEO_FILE_TYPE2 = FILE_TYPE_MP2PS; // Image file types public static final int FILE_TYPE_JPEG = 31; public static final int FILE_TYPE_GIF = 32; public static final int FILE_TYPE_PNG = 33; public static final int FILE_TYPE_BMP = 34; public static final int FILE_TYPE_WBMP = 35; public static final int FILE_TYPE_WEBP = 36; private static final int FIRST_IMAGE_FILE_TYPE = FILE_TYPE_JPEG; private static final int LAST_IMAGE_FILE_TYPE = FILE_TYPE_WEBP; // Playlist file types public static final int FILE_TYPE_M3U = 41; public static final int FILE_TYPE_PLS = 42; public static final int FILE_TYPE_WPL = 43; public static final int FILE_TYPE_HTTPLIVE = 44; private static final int FIRST_PLAYLIST_FILE_TYPE = FILE_TYPE_M3U; private static final int LAST_PLAYLIST_FILE_TYPE = FILE_TYPE_HTTPLIVE; // Drm file types public static final int FILE_TYPE_FL = 51; private static final int FIRST_DRM_FILE_TYPE = FILE_TYPE_FL; private static final int LAST_DRM_FILE_TYPE = FILE_TYPE_FL; // Other popular file types public static final int FILE_TYPE_TEXT = 100; public static final int FILE_TYPE_HTML = 101; public static final int FILE_TYPE_PDF = 102; public static final int FILE_TYPE_XML = 103; public static final int FILE_TYPE_MS_WORD = 104; public static final int FILE_TYPE_MS_EXCEL = 105; public static final int FILE_TYPE_MS_POWERPOINT = 106; public static final int FILE_TYPE_ZIP = 107; public static class MediaFileType { public final int fileType; public final String mimeType; MediaFileType(int fileType, String mimeType) { this.fileType = fileType; this.mimeType = mimeType; } } private static final HashMap<String, MediaFileType> sFileTypeMap = new HashMap<String, MediaFileType>(); private static final HashMap<String, Integer> sMimeTypeMap = new HashMap<String, Integer>(); // maps file extension to MTP format code private static final HashMap<String, Integer> sFileTypeToFormatMap = new HashMap<String, Integer>(); // maps mime type to MTP format code private static final HashMap<String, Integer> sMimeTypeToFormatMap = new HashMap<String, Integer>(); // maps MTP format code to mime type private static final HashMap<Integer, String> sFormatToMimeTypeMap = new HashMap<Integer, String>(); static void addFileType(String extension, int fileType, String mimeType) { sFileTypeMap.put(extension, new MediaFileType(fileType, mimeType)); sMimeTypeMap.put(mimeType, Integer.valueOf(fileType)); } static void addFileType(String extension, int fileType, String mimeType, int mtpFormatCode) { addFileType(extension, fileType, mimeType); sFileTypeToFormatMap.put(extension, Integer.valueOf(mtpFormatCode)); sMimeTypeToFormatMap.put(mimeType, Integer.valueOf(mtpFormatCode)); sFormatToMimeTypeMap.put(mtpFormatCode, mimeType); } private static boolean isWMAEnabled() { List<AudioDecoder> decoders = DecoderCapabilities.getAudioDecoders(); int count = decoders.size(); for (int i = 0; i < count; i++) { AudioDecoder decoder = decoders.get(i); if (decoder == AudioDecoder.AUDIO_DECODER_WMA) { return true; } } return false; } private static boolean isWMVEnabled() { List<VideoDecoder> decoders = DecoderCapabilities.getVideoDecoders(); int count = decoders.size(); for (int i = 0; i < count; i++) { VideoDecoder decoder = decoders.get(i); if (decoder == VideoDecoder.VIDEO_DECODER_WMV) { return true; } } return false; } static { //添加对应的音频、视频、图片的格式 addFileType("MP3", FILE_TYPE_MP3, "audio/mpeg", MtpConstants.FORMAT_MP3); addFileType("MPGA", FILE_TYPE_MP3, "audio/mpeg", MtpConstants.FORMAT_MP3); addFileType("M4A", FILE_TYPE_M4A, "audio/mp4", MtpConstants.FORMAT_MPEG); addFileType("WAV", FILE_TYPE_WAV, "audio/x-wav", MtpConstants.FORMAT_WAV); addFileType("AMR", FILE_TYPE_AMR, "audio/amr"); addFileType("AWB", FILE_TYPE_AWB, "audio/amr-wb"); if (isWMAEnabled()) { addFileType("WMA", FILE_TYPE_WMA, "audio/x-ms-wma", MtpConstants.FORMAT_WMA); } addFileType("OGG", FILE_TYPE_OGG, "audio/ogg", MtpConstants.FORMAT_OGG); addFileType("OGG", FILE_TYPE_OGG, "application/ogg", MtpConstants.FORMAT_OGG); addFileType("OGA", FILE_TYPE_OGG, "application/ogg", MtpConstants.FORMAT_OGG); addFileType("AAC", FILE_TYPE_AAC, "audio/aac", MtpConstants.FORMAT_AAC); addFileType("AAC", FILE_TYPE_AAC, "audio/aac-adts", MtpConstants.FORMAT_AAC); addFileType("MKA", FILE_TYPE_MKA, "audio/x-matroska"); addFileType("MID", FILE_TYPE_MID, "audio/midi"); addFileType("MIDI", FILE_TYPE_MID, "audio/midi"); addFileType("XMF", FILE_TYPE_MID, "audio/midi"); addFileType("RTTTL", FILE_TYPE_MID, "audio/midi"); addFileType("SMF", FILE_TYPE_SMF, "audio/sp-midi"); addFileType("IMY", FILE_TYPE_IMY, "audio/imelody"); addFileType("RTX", FILE_TYPE_MID, "audio/midi"); addFileType("OTA", FILE_TYPE_MID, "audio/midi"); addFileType("MXMF", FILE_TYPE_MID, "audio/midi"); addFileType("MPEG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG); addFileType("MPG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG); addFileType("MP4", FILE_TYPE_MP4, "video/mp4", MtpConstants.FORMAT_MPEG); addFileType("M4V", FILE_TYPE_M4V, "video/mp4", MtpConstants.FORMAT_MPEG); addFileType("3GP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER); addFileType("3GPP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER); addFileType("3G2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER); addFileType("3GPP2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER); addFileType("MKV", FILE_TYPE_MKV, "video/x-matroska"); addFileType("WEBM", FILE_TYPE_WEBM, "video/webm"); addFileType("TS", FILE_TYPE_MP2TS, "video/mp2ts"); addFileType("AVI", FILE_TYPE_AVI, "video/avi"); if (isWMVEnabled()) { addFileType("WMV", FILE_TYPE_WMV, "video/x-ms-wmv", MtpConstants.FORMAT_WMV); addFileType("ASF", FILE_TYPE_ASF, "video/x-ms-asf"); } addFileType("JPG", FILE_TYPE_JPEG, "image/jpeg", MtpConstants.FORMAT_EXIF_JPEG); addFileType("JPEG", FILE_TYPE_JPEG, "image/jpeg", MtpConstants.FORMAT_EXIF_JPEG); addFileType("GIF", FILE_TYPE_GIF, "image/gif", MtpConstants.FORMAT_GIF); addFileType("PNG", FILE_TYPE_PNG, "image/png", MtpConstants.FORMAT_PNG); addFileType("BMP", FILE_TYPE_BMP, "image/x-ms-bmp", MtpConstants.FORMAT_BMP); addFileType("WBMP", FILE_TYPE_WBMP, "image/vnd.wap.wbmp"); addFileType("WEBP", FILE_TYPE_WEBP, "image/webp"); addFileType("M3U", FILE_TYPE_M3U, "audio/x-mpegurl", MtpConstants.FORMAT_M3U_PLAYLIST); addFileType("M3U", FILE_TYPE_M3U, "application/x-mpegurl", MtpConstants.FORMAT_M3U_PLAYLIST); addFileType("PLS", FILE_TYPE_PLS, "audio/x-scpls", MtpConstants.FORMAT_PLS_PLAYLIST); addFileType("WPL", FILE_TYPE_WPL, "application/vnd.ms-wpl", MtpConstants.FORMAT_WPL_PLAYLIST); addFileType("M3U8", FILE_TYPE_HTTPLIVE, "application/vnd.apple.mpegurl"); addFileType("M3U8", FILE_TYPE_HTTPLIVE, "audio/mpegurl"); addFileType("M3U8", FILE_TYPE_HTTPLIVE, "audio/x-mpegurl"); addFileType("FL", FILE_TYPE_FL, "application/x-android-drm-fl"); addFileType("TXT", FILE_TYPE_TEXT, "text/plain", MtpConstants.FORMAT_TEXT); addFileType("HTM", FILE_TYPE_HTML, "text/html", MtpConstants.FORMAT_HTML); addFileType("HTML", FILE_TYPE_HTML, "text/html", MtpConstants.FORMAT_HTML); addFileType("PDF", FILE_TYPE_PDF, "application/pdf"); addFileType("DOC", FILE_TYPE_MS_WORD, "application/msword", MtpConstants.FORMAT_MS_WORD_DOCUMENT); addFileType("XLS", FILE_TYPE_MS_EXCEL, "application/vnd.ms-excel", MtpConstants.FORMAT_MS_EXCEL_SPREADSHEET); addFileType("PPT", FILE_TYPE_MS_POWERPOINT, "application/mspowerpoint", MtpConstants.FORMAT_MS_POWERPOINT_PRESENTATION); addFileType("FLAC", FILE_TYPE_FLAC, "audio/flac", MtpConstants.FORMAT_FLAC); addFileType("ZIP", FILE_TYPE_ZIP, "application/zip"); addFileType("MPG", FILE_TYPE_MP2PS, "video/mp2p"); addFileType("MPEG", FILE_TYPE_MP2PS, "video/mp2p"); } public static boolean isAudioFileType(int fileType) { return ((fileType >= FIRST_AUDIO_FILE_TYPE && fileType <= LAST_AUDIO_FILE_TYPE) || (fileType >= FIRST_MIDI_FILE_TYPE && fileType <= LAST_MIDI_FILE_TYPE)); } public static boolean isVideoFileType(int fileType) { return (fileType >= FIRST_VIDEO_FILE_TYPE && fileType <= LAST_VIDEO_FILE_TYPE) || (fileType >= FIRST_VIDEO_FILE_TYPE2 && fileType <= LAST_VIDEO_FILE_TYPE2); } public static boolean isImageFileType(int fileType) { return (fileType >= FIRST_IMAGE_FILE_TYPE && fileType <= LAST_IMAGE_FILE_TYPE); } public static boolean isPlayListFileType(int fileType) { return (fileType >= FIRST_PLAYLIST_FILE_TYPE && fileType <= LAST_PLAYLIST_FILE_TYPE); } public static boolean isDrmFileType(int fileType) { return (fileType >= FIRST_DRM_FILE_TYPE && fileType <= LAST_DRM_FILE_TYPE); } public static MediaFileType getFileType(String path) { int lastDot = path.lastIndexOf('.'); if (lastDot < 0) return null; return sFileTypeMap.get(path.substring(lastDot + 1).toUpperCase(Locale.ROOT)); } public static boolean isMimeTypeMedia(String mimeType) { int fileType = getFileTypeForMimeType(mimeType); return isAudioFileType(fileType) || isVideoFileType(fileType) || isImageFileType(fileType) || isPlayListFileType(fileType); } // generates a title based on file name public static String getFileTitle(String path) { // extract file name after last slash int lastSlash = path.lastIndexOf('/'); if (lastSlash >= 0) { lastSlash++; if (lastSlash < path.length()) { path = path.substring(lastSlash); } } // truncate the file extension (if any) int lastDot = path.lastIndexOf('.'); if (lastDot > 0) { path = path.substring(0, lastDot); } return path; } public static int getFileTypeForMimeType(String mimeType) { Integer value = sMimeTypeMap.get(mimeType); return (value == null ? 0 : value.intValue()); } public static String getMimeTypeForFile(String path) { MediaFileType mediaFileType = getFileType(path); return (mediaFileType == null ? null : mediaFileType.mimeType); } public static int getFormatCode(String fileName, String mimeType) { if (mimeType != null) { Integer value = sMimeTypeToFormatMap.get(mimeType); if (value != null) { return value.intValue(); } } int lastDot = fileName.lastIndexOf('.'); if (lastDot > 0) { String extension = fileName.substring(lastDot + 1).toUpperCase(Locale.ROOT); Integer value = sFileTypeToFormatMap.get(extension); if (value != null) { return value.intValue(); } } return MtpConstants.FORMAT_UNDEFINED; } public static String getMimeTypeForFormatCode(int formatCode) { return sFormatToMimeTypeMap.get(formatCode); } } 如果我们需要删除一种格式,那么就要直接删除以上的变量还有静态代码块中对应变量的方法: addFileType 例如,我不需要将M4A这种格式添加到我的Android项目中,我可以将以下的: public static final int FILE_TYPE_M4A = 2; addFileType("M4A", FILE_TYPE_M4A, "audio/mp4", MtpConstants.FORMAT_MPEG); 删除即可。

优秀的个人博客,低调大师

tiny4412 Android 5.0编译出现:clang++: error: unable to execute command: Ki...

clang++: error: unable to execute command: Killed clang++: error: clang frontend command failed due to signal (use -v to see invocation) clang version 3.5 Target: i386--linux-gnu Thread model: posix clang++: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang++: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang++: note: diagnostic msg: /tmp/android_system_OsConstants-6e651d.cpp clang++: note: diagnostic msg: /tmp/android_system_OsConstants-6e651d.sh clang++: note: diagnostic msg: ******************** host C: libbacktrace_libc++ <= system/core/libbacktrace/thread_utils.c make: *** [out/host/linux-x86/obj32/SHARED_LIBRARIES/libjavacore_intermediates/luni/src/main/native/android_system_OsConstants.o] 错误 254 make: *** 正在等待未完成的任务.... #### make failed to build some targets (26:09 (mm:ss)) #### 经过百度得知: 原因: 这是swap区不够大的原因。导致clang++kernelopps 解决方法:请加大分区:sudofallocate-l6G/swapfilesudochmod600/swapfilesudomkswap/swapfilesudoswapon/swapfile开机自动挂载swap:使用vi或nano在/etc/fstab文件底部添加如下内容:/swapfilenoneswapsw00原文链接:http://blog.csdn.net/hktkfly6/article/details/52753320

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册