Project Hosting on
点击打开链接
最受欢迎的开源项目
点击打开链接
由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。
地址:http://code.google.com/p/apps-for-android/
VLC for Android源码下载和编译
from:http://dingran.iteye.com/blog/1717711
1.vlc for android 已经发布了,开源的地址是:
http://wiki.videolan.org/AndroidCompile
这里面有详细的使用说明,
其中源码获取是:
git clone git://git.videolan.org/vlc-ports/android.git
再次感谢git这个伟大的工具。
2.源码编译:
最新版的源码编译已经简化多了,不用从网上找pdf的文档了,那个已经不适用了。只要按照wiki上的说明操作即可。
运行到:
sh compile.sh
之后会出现:
dr@dr-OptiPlex-3010:~/vlc_android/android$ sh compile.sh
For an ARMv6 device without FPU, you need a build without FPU:
$ export NO_FPU=1
For an ARMv5 device or the Android emulator, you need an ARMv5 build:
$ export NO_ARMV6=1
If you plan to use a release build, run 'compile.sh release'
VLC source not found, cloning
Cloning into 'vlc'...
remote: Counting objects: 389435, done.
remote: Compressing objects: 100% (77835/77835), done.
接下来会下载vlc的源码文件,就会在原有的git下载的目录下,再新建一个vlc的文件夹里面。估计是按照文档里面不同的编译
配置选项下载的不同的vlc的源码。比如,arm5或7,NEON和NONEON,等等。下载约202MB的东西。
编译过程输出:
- Switched to a new branch 'android'
- Applying the patches
- Applying: libavcodec: add NEON runtime autodetection
- Applying: libvlc: add language and frame rate to libvlc_media_track_info_t
- Building the contribs
- Guessing build system... x86_64-linux-gnu
- Creating configuration file... config.mak
- Bootstrap completed.
- Run "make" to start compilation.
- Other targets:
- * make install same as "make"
- * make prebuilt fetch and install prebuilt binaries
- * make list list packages
- * make fetch fetch required source tarballs
- * make fetch-all fetch all source tarballs
- * make distclean clean everything and undo bootstrap
- * make mostlyclean clean everything except source tarballs
- * make clean clean everything
- * make package prepare prebuilt packages
- curl -f -L -- "http://downloads.videolan.org/pub/videolan/testing/contrib/a52dec-0.7.4.tar.gz" > "../../contrib/tarballs/a52dec-0.7.4.tar.gz"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 235k 100 235k 0 0 9905 0 0:00:24 0:00:24 --:--:-- 18338
- grep -- " a52dec-0.7.4.tar.gz$" "../../contrib/src/a52/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/a52/SHA512SUMS"
- 4b26fe9492f218b775fb190b76ecf06edaeb656adfe6dcbd24d0a0f86871c3ba917edb88a398eb12dccedaa1605b6f0a0be06b09f9fddd9a46e457b7dd244848 a52dec-0.7.4.tar.gz
- a52dec-0.7.4.tar.gz: OK
- touch .sum-a52
- curl -f -L -- "http://libass.googlecode.com/files/libass-0.10.1.tar.gz" > "../../contrib/tarballs/libass-0.10.1.tar.gz"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 368k 100 368k 0 0 20113 0 0:00:18 0:00:18 --:--:-- 15260
- grep -- " libass-0.10.1.tar.gz$" "../../contrib/src/ass/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/ass/SHA512SUMS"
- 531b48a173f4d7bc50ea443ff71c8fe5c1287e8563c44a5dbf72b0a9e5fb16570fe2285ad2bac8ccdada6e6d195b4f451b1036dca17f2aa6de5803e8946cb9a3 libass-0.10.1.tar.gz
- libass-0.10.1.tar.gz: OK
- touch .sum-ass
- curl -f -L -- "http://downloads.videolan.org/pub/videolan/libdca/0.0.5/libdca-0.0.5.tar.bz2" > "../../contrib/tarballs/libdca-0.0.5.tar.bz2"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 384k 100 384k 0 0 10600 0 0:00:37 0:00:37 --:--:-- 15121
- grep -- " libdca-0.0.5.tar.bz2$" "../../contrib/src/dca/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/dca/SHA512SUMS"
- d9f0ed34efeb3f27af8424fcb3e6df56744c6735854a65b5709c02b42b4513b9c4618dcc19eb44293afa051bd95616651bda5fc3b49dfabe975d0babfb1bc287 libdca-0.0.5.tar.bz2
- libdca-0.0.5.tar.bz2: OK
- touch .sum-dca
- curl -f -L -- "http://downloads.videolan.org/pub/videolan/libdvbpsi/0.2.2/libdvbpsi-0.2.2.tar.bz2" > "../../contrib/tarballs/libdvbpsi-0.2.2.tar.bz2"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 322k 100 322k 0 0 14946 0 0:00:22 0:00:22 --:--:-- 21309
- grep -- " libdvbpsi-0.2.2.tar.bz2$" "../../contrib/src/dvbpsi/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/dvbpsi/SHA512SUMS"
- 9077a87d31b6c142773d68a5679a5b864df1c063f66d8b405964127b5e2f0b6b8ab4c1c003f873c221ba5657022667bfdb19cc399211be52bbc94a227de262a7 libdvbpsi-0.2.2.tar.bz2
- libdvbpsi-0.2.2.tar.bz2: OK
- touch .sum-dvbpsi
- curl -f -L -- "http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2" > "../../contrib/tarballs/libebml-1.2.2.tar.bz2"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 60802 100 60802 0 0 4941 0 0:00:12 0:00:12 --:--:-- 43121
- grep -- " libebml-1.2.2.tar.bz2$" "../../contrib/src/ebml/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/ebml/SHA512SUMS"
- aa9b446aadbfea6cd7031a08a8cd0251a764febb8ef43ee3ba44d066b945698311bda7db6bb2d983d5f0c1e24f108ae4cf1c6551b04337210b13daf7e2236135 libebml-1.2.2.tar.bz2
- libebml-1.2.2.tar.bz2: OK
- touch .sum-ebml
- curl -f -L -- "http://git.libav.org/?p=libav.git;a=snapshot;h=1a8c6917f68f;sf=tgz" > "../../contrib/tarballs/ffmpeg-git.tar.gz"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 5577k 0 5577k 0 0 17615 0 --:--:-- 0:05:24 --:--:-- 12273
- ../../contrib/src/ffmpeg/rules.mak:136: Not implemented.
- touch .sum-ffmpeg
- curl -f -L -- "http://heanet.dl.sourceforge.net/sourceforge/flac/flac-src/flac-1.2.1-src/flac-1.2.1.tar.gz" > "../../contrib/tarballs/flac-1.2.1.tar.gz"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 0 409 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
- 0 0 0 0 0 0 0 0 --:--:-- 0:00:12 --:--:-- 0
- 100 1962k 100 1962k 0 0 17063 0 0:01:57 0:01:57 --:--:-- 15064
- grep -- " flac-1.2.1.tar.gz$" "../../contrib/src/flac/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/flac/SHA512SUMS"
- 39b216239341fbfe210c3a2fc0d0531ecae26c425365c4b6d4fc1081e44e6dc7a9aba8d4c79cc8025386d0a7bb0d25c413c9b64cf7da9ab04ca34a56d2699787 flac-1.2.1.tar.gz
- flac-1.2.1.tar.gz: OK
- touch .sum-flac
- curl -f -L -- "http://heanet.dl.sourceforge.net/sourceforge/freetype/freetype2/2.4.10/freetype-2.4.10.tar.gz" > "../../contrib/tarballs/freetype-2.4.10.tar.gz"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 0 411 0 0 0 0 0 0 --:--:-- 0:00:11 --:--:-- 0
- 0 0 0 0 0 0 0 0 --:--:-- 0:00:13 --:--:-- 0
- 100 1959k 100 1959k 0 0 15040 0 0:02:13 0:02:13 --:--:-- 21090
- grep -- " freetype-2.4.10.tar.gz$" "../../contrib/src/freetype2/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/freetype2/SHA512SUMS"
- 507d1c03d394b695b5a96041ad7ee03b375964c89f007678db864a7e5bd2ee69d83e6c638f4aadaf348c921d37c16741a03ef9bee03196bda2b94ceea409b688 freetype-2.4.10.tar.gz
- freetype-2.4.10.tar.gz: OK
- touch .sum-freetype2
- curl -f -L -- "http://fribidi.org/download/fribidi-0.19.4.tar.bz2" > "../../contrib/tarballs/fribidi-0.19.4.tar.bz2"
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 593k 100 593k 0 0 11802 0 0:00:51 0:00:51 --:--:-- 16848
- grep -- " fribidi-0.19.4.tar.bz2$" "../../contrib/src/fribidi/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/fribidi/SHA512SUMS"
- 6095421de6652202f54ce008eba881e514059e4ac2fd84fdbaabad504f147b332e9c688982b1857cd4d04d6d0346ca9dd16e6a5a5d2ef5acd4d1c400e054968c fribidi-0.19.4.tar.bz2
- fribidi-0.19.4.tar.bz2: OK
- touch .sum-fribidi
- curl -f -L -- "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2" > "../../contrib/tarballs/libgcrypt-1.5.0.tar.bz2"
- curl: (6) Couldn't resolve host 'ftp.gnupg.org'
- make: *** [../../contrib/tarballs/libgcrypt-1.5.0.tar.bz2] Error 6
- make: *** Deleting file `../../contrib/tarballs/libgcrypt-1.5.0.tar.bz2'
编译出错了,Fuck!是因为网速慢,继续运行sh compile.sh就行了,可以继续下载。
待下载完成会自动进行编译,编译的时间较长,耐心等待。
我的编译过程中出错了,错误信息如下:
- [crunch] Processing image to cache: /home/dr/vlc_android/android/java-libs/ActionBarSherlock/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png => /home/dr/vlc_android/android/java-libs/ActionBarSherlock/bin/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png
- [crunch] (processed image to cache entry /home/dr/vlc_android/android/java-libs/ActionBarSherlock/bin/res/drawable-xhdpi/abs__tab_unselected_pressed_holo.9.png: 0% size of source)
- [crunch] Crunched 201 PNG files to update cache
- -package-resources:
- [echo] Library project: do not package resources...
- -package:
- [echo] Library project: do not package apk...
- -post-package:
- -do-debug:
- [echo] Library project: do not create apk...
- [propertyfile] Creating new property file: /home/dr/vlc_android/android/java-libs/ActionBarSherlock/bin/build.prop
- [propertyfile] Updating property file: /home/dr/vlc_android/android/java-libs/ActionBarSherlock/bin/build.prop
- [propertyfile] Updating property file: /home/dr/vlc_android/android/java-libs/ActionBarSherlock/bin/build.prop
- [propertyfile] Updating property file: /home/dr/vlc_android/android/java-libs/ActionBarSherlock/bin/build.prop
- -post-build:
- debug:
- -pre-build:
- -code-gen:
- [mergemanifest] Merging AndroidManifest files into one.
- [mergemanifest] Manifest merger disabled. Using project manifest only.
- [echo] Handling aidl files...
- [aidl] Found 2 AIDL files.
- [aidl] Compiling 2 AIDL files.
- [echo] ----------
- [echo] Handling RenderScript files...
- [renderscript] No RenderScript files to compile.
- [echo] ----------
- [echo] Handling Resources...
- [aapt] Generating resource IDs...
- [aapt] aapt: warning: string 'filebrowser_parent' has no default translation in /home/dr/vlc_android/android/java-libs/SlidingMenu/res; found: eu fr gd hr mr te uk wa
- [aapt] aapt: warning: string 'search_found_results' has no default translation in /home/dr/vlc_android/android/java-libs/SlidingMenu/res; found: es eu gd hr mr te uk wa
- [aapt] aapt: warning: string 'time_0' has no default translation in /home/dr/vlc_android/android/java-libs/SlidingMenu/res; found: es eu fr gd hr mr te uk wa
- [echo] ----------
- [echo] Handling BuildConfig class...
- [buildconfig] Generating BuildConfig class.
- -pre-compile:
- -compile:
- [javac] Compiling 70 source files to /home/dr/vlc_android/android/vlc-android/bin/classes
- [javac] /home/dr/vlc_android/android/vlc-android/src/org/videolan/vlc/Util.java:244: cannot find symbol
- [javac] symbol : variable JELLY_BEAN
- [javac] location: class android.os.Build.VERSION_CODES
- [javac] return android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN;
- [javac] ^
- [javac] 1 error
- BUILD FAILED
- /home/dr/android-sdk-linux/tools/ant/build.xml:679: The following error occurred while executing this line:
- /home/dr/android-sdk-linux/tools/ant/build.xml:692: Compile failed; see the compiler error output for details.
- Total time: 10 seconds
- make: *** [vlc-android/bin/VLC-debug.apk] Error 1
- rm android-libs/libmedia.c android-libs/libutils.c android-libs/libstagefright.c android-libs/libbinder.c
JELLY_BEAN是4.1的sdk版本,我需要先更新一下sdk,然后继续。之前他说sdk要最新的,没想到是真的,Fuck!
也要注意的是ndk的版本是要求r8的,一开始的说明要仔细看呢。
更新了sdk应该可以了,可是仍不行,后来我才想起来是我修改了工程的配置文件:project.properties
把里面的target=android-16修改成了14,Fuck,我干了蠢事啊。
那么改回来继续编译:
哈哈,编译成功了:
log如下:
- -package:
- [apkbuilder] Current build type is different than previous build: forced apkbuilder run.
- [apkbuilder] Creating VLC-debug-unaligned.apk and signing it with a debug key...
- -post-package:
- -do-debug:
- [zipalign] Running zip align on final apk...
- [echo] Debug Package: /home/dr/vlc_android/android/vlc-android/bin/VLC-debug.apk
- [propertyfile] Creating new property file: /home/dr/vlc_android/android/vlc-android/bin/build.prop
- [propertyfile] Updating property file: /home/dr/vlc_android/android/vlc-android/bin/build.prop
- [propertyfile] Updating property file: /home/dr/vlc_android/android/vlc-android/bin/build.prop
- [propertyfile] Updating property file: /home/dr/vlc_android/android/vlc-android/bin/build.prop
- -post-build:
- debug:
- BUILD SUCCESSFUL
- Total time: 17 seconds
- rm android-libs/libmedia.c android-libs/libutils.c android-libs/libstagefright.c android-libs/libbinder.c
3.虽然res下面还有红叉,但是apk已经编译出来了,就在bin下面,看来eclipse没起作用。只是用来看代码的吧。
那么该研究研究vlc for android了,这可是好东西啊。以后还要集成DRM呢。
电视和视频App
- Hulu:一个能满足所有您最喜爱的电视节目的App。
- Cartoon Network Anything:这是卡通网络应用程序,专为智能手机简短形式的内容所设计。
- Comedy Central:能够满足南方公园和每日秀。
- Disney Movies Anywhere:它可以让你随时随地观看所有的迪士尼电影。
- DramaFever:流媒体服务,让你看韩国,日本,台湾,西班牙和拉丁美洲的电视节目,并且配有专业的英文字幕。
- 5by:又称,“朋友发现、分享、聊聊他们最喜爱的视频的‘胜地’”。
- DailyMotion:YouTube强劲的竞争对手之一。
- Samba:一个非常时髦的视频共享app,可以让你看到你的朋友观看你的视频时的反应。
- Video Collage Maker,正如标题所展示的,让你把所有你喜欢的视频拼贴起来。
照片编辑App
- Over:一款照片编辑 App,你可以为图片添加文字和插图。价格:1.99美元。
- Timehop:漂亮的应用程序,从您所有的社交账号中收集照片,并且将照片按照时间排序。这样你就可以准确地找到你在某一天的照片。
- Afterlight:照片编辑应用程序,提供了一个令人难以置信的59种不同的过滤器和15个不同的调整工具。价格:0.99美元。
- Carousel:以下拉框的形式组织你上传的照片和视频。
- Facetune:照片编辑应用程序,专为让你的自拍照更漂亮而打造。价格:2.99美元。
- Camera ZOOM FX:相机应用程序,能够在Android手机上制作出iOS 8风格的时间推移视频。
- EyeEm:另一个Instagram风格的照片编辑 App。
- Frontback:一个能让你“一个用前置摄像头拍照,另一个用后置摄像头拍照,并在一张照片上同时分享”的摄像 App。
音乐应用程序
- Shazam:流行歌曲识别程序。
- Pandora:广播式的在线音乐流媒体之王。
- iHeartRadio:高清晰度频道的在线广播流媒体 App。
- SoundHound:Shazam 音乐风格识别应用程序。
- musiXmatch:一个应用程序,能显示播放歌曲的歌词,是卡拉 OK 迷的最爱。
- edjing:有超过5千万个轨道的 DJ 程序。
- TuneIn Radio:这使您能够访问10万多个不同的电台。
- djay2:它集成了 Spotify 和“将 Android 设备完美打造成特色 DJ 系统”的App,价值2.99美元。
- Equalizer:数字音乐播放软件,音乐发烧友都会爱。
社交App
- OKCupid Dating:一个最好的婚介服务App。
- Skype Qik:以最快的方法做Skype视频与您的朋友聊天。
- Obscure:照片共享应用程序,可以让你收回你后悔发送给朋友的任何照片。
- lettrs:消息传递App,带给你从朋友那里收发正式信件的快感,并使用自己的个性签名。
- Rundavoo:一个与您的朋友制定计划的一流App。
- Bitmoji:因为你永远不会在你的生活中有太多的表情符号。
- Secret:臭名昭著的迟钝的应用程序,可以让你完全匿名。
- LINK:一个社会网络,非常适合刚刚搬到新的地方,想让朋友分享类似活动的人。
- Telegram:WhatsApp的竞争对手,致力于”快速和安全”。
旅游和交通
- Expedia Hotels and Flights:您所需要的最重要的旅游预订信息。
- Windfinder:水手的最爱,跟踪天气报告和从成千上万的资源进行预测,以确保你永远不会停滞不前了。
- MAPS.ME:一个获取地图的好方式,当你没有移动数据流量或Wi-Fi的时候。
- Uber:一款叫车应用程序,但同时又是方便的和具有争议的的App。
- Anywayanyday:Expedia风格的旅行预订程序。
- Golfshot:一个疯狂的精准的高尔夫球场GPS应用程序,具有“天桥每个孔的三维显示,精确的码数以及全球4万多个高尔夫球场的数据”。
- Amazing World Atlas:孤独星球的移动应用程序,价格:2.99美元。
生产力和专业知识
- Wunderlist:一个流行的任务管理应用程序。
- IFTT:生产力应用程序,让你更轻松地管理你最喜欢的相互关联的 Android 应用程序。
- SwitftKey:最好的第三方触摸屏智能手机键盘之一。
- Sunrise Calendar:一个设计精美的日历应用程序。
- (OFFTIME):一个有助于让社会媒体的工作狂摆脱手机长时间的干扰并得到简单的放松的App。
- Todoist:备受赞誉的任务管理应用程序。
- Strive:一个基于位置的为找临时工作的应用程序。
- Viadeo:LinkedIn 的对手,让你和“世界各地6千万专业人士”联系起来。
- SlideShare Presentations:LinkedIn 创建应用程序来帮助你培养世界上最优秀的演讲。
- Mailbox:集成了 iCloud Dropbox 和 Gmail 的邮件解决方案。
新闻应用程序
- Yahoo News Digest:让你快速的了解你所关注的新闻。
- Locket Lock Screen:一个在你屏幕锁定时也能看到新闻头条和社交帖子的应用程序。
- BuzzFeed:适用于需要猫的图片F和“我是谁?“的人,他们生活中的小测验。
- Link Bubble Browser:一个智能的浏览器,只会跟你显示加载好的网页,所以你不必浪费宝贵的时间看一个空白的屏幕。
- The Economist Espresso:适合于喜欢学习关于为什么尼日利亚是在一个十字路口的人,还有全球其他的事件。
- CNN Breaking News:所以你永远不会错过一分钟的双曲埃博拉覆盖。
- OneFootball:足球球迷们真正唯一需要的应用程序。
- NYTimes – Breaking News:纽约时报–突发新闻,所有值得印刷的新闻。
- Watchup:新闻视频的应用程序,称自己是“最聪明的方式来观看视频新闻因为它建立您的个性化的地方新闻,国家和国际新闻频道”。
- Univision Deportes:从来没有错过一个goal。
教育软件
- TED:TED官方的 Android 应用程序。
- Luminosity:一个有助于体改记忆力的 App。
- Duolingo Test Center:帮助那些想要学好英语的外国人。
- Craftsy Classes:适合任何热爱工艺项目的人。
- Nester:新父母想要一个适合孩子的程序,会教给孩子学习和玩耍的价值。
- Ultimate Guitar Tabs and Chords:有抱负的音乐家都应拥有的 App。价格:1.99美元。
- Monki Chinese Class:学习汉语的很好的途径。
购物和金融应用程序
- Wish:个人购物助理,可以帮助您节省大量的现金。
- Groupon:日常交易最好的地方。
- Money Tracker:从 billguard 获取信息的个人财务应用程序。
健身应用程序
- 7 Minute Workout:健身应用程序,也就是你认为的那样。
- Google Fit:谷歌自己的内部健身应用程序。