来源地址:https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html
来源地址:https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element
调研公司Counterpoint Research数据显示,全球88%的智能手机运行Android系统。
1. Android Studio 内置了 JDK,不需要额外安装JDK了
2. 每六个月一次新版本
2017年,Oracle 宣布,他们将加快 Java 的发布频率,改为每六个月一次。
Java 之前的发布周期为两年一次,Java 9 因为模块化系统(Jigsaw)问题一再延期,已经比预期晚了 18 个月。之前,Java 8 也因为安全问题延期了 8 个月左右。
新的发布周期严格遵循时间点,将在每年的 3 月份和 9 月份发布,相应的版本号为 18.3、18.9、19.3 等。与现在的发布周期不同,新的发布计划不会为了等待某个主要特性完成而延期。如果一个特性还没有完成
执行 "Generate Signed Bundle/APK" 命令:
Android App Bundle (不推荐)
Android App Bundle是一种改进的应用程序打包方式,能大幅度减少应用体积。简而言之,可以理解Google 官方的动态发布方案。
缺点
仅限于通过 Google Play 发布的应用,(Google进一步巩固自身生态)
需要加入到 Google 的 beta program enroll your app in app signing by Google Play in the Play Console
最低支持版本
直接在清单文件AndroidManifest.xml中的android:label=”@string/app_name”去修改即可,直接去修改app_name中的名字,中、英文都是可以的项目的versionName、versionCode若需要修改,可以直接去build.gradle中去修改,然后重新编译即可,不要去清单文件AnddroidManifest.xml中修改,因为那样是没有任何作用的。
小提示:如果是开在Indexing这个位置,可以 File-- Invalidate Caches/Restart-- Invalidate and Restart.
如果卡在 Gradle,可以往下看:
第一次打开项目提示这个,如果选择下载最新的,会很缓慢,该压缩包现在已经有100MB以上了。
解决办法,选择取消,手动设置gradle的安装目录。
设置
如果,选择下载最新的gradle,很可能速度太慢,卡很久。可以先把压缩包下载下来。 比如:
https://downloads.gradle.org/distributions/gradle-4.6
一、常用命令
主要参数:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
视频参数:
-b 设定视频流量(码率),默认为200Kbit/s
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频
二、常用功能
1. 视频格式转换
格式转换准确的说应该是视频容器转换
比如一个avi文
续接:https://javascript.net.cn/article?id=553
修改Nginx配置文件:
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application live {
live on;
}
application vod {
1. 查看机器上所有设备
ffmpeg -devices
ffmpeg version N-93466-g681957b88d Copyright (c) 2000-2019 the FFmpeg developers
built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Devices:
D. = Demuxing supported
.E = Muxing supported
--
D avfoundation AVFoundation input device 「摄像头」
D la

使用ffmpeg推流的场景:
1. 我的机器配置烂死了,无法做到x264实时压制然后推流,我只想复制视频流放个片。
2. 我想在服务器上无人值守转播内容。
续接上篇文章:https://javascript.net.cn/article?id=551
ffmpeg -re -i 1.mp4 -vcodec copy -f flv rtmp://localhost/live
或者
ffmpeg -re -i 1.mp4 -vcodec copy -acodec copy
-b:v 800k -b:a 32k -f flv rtmp://localhost/liv
安装
在windows下由于官方已经编译好的nginx是不带nginx_rtmp_module的,故直接使用已经编译好的,
一个是github上的(https://github.com/illuspas/nginx-rtmp-win32)
一个是nginx for windows(http://nginx-win.ecsds.eu/download/nginx%201.7.12.1%20Lizard.zip,注意这是最后一个支持rtmp的版本,再高的非商业版本不会支持rtmp),nginx-rtmp-win32是一个较好的demo。
打开命令行,进入文件夹,启动nginx.exe。
!DOCTYPE html
html lang="en"
head
meta charset="UTF-8"
meta name="viewport" content="width=device-width, initial-scale=1.0"
meta http-equiv="X-UA-Compatible" content="ie=edge"
title Document /title
/head
body
script src="hls.js" /script
video
!doctype html
html
head
meta charset="utf-8"
title Video.js /title
link href="videojs/css/video-js.min.css" rel="stylesheet"
/head
body
div class="m"
video id="my-video" class="video-js" controls preload="auto" width="960" height="400" poster=""
data-setup="
简介
HTTP Live Streaming 是 Apple 为了提高流播效率开发的技术,特点是将流媒体切分为若干 TS 片段(比如每10秒一段),然后通过一个扩展的 m3u 列表文件将这些 TS 片段集中起来供客户端播放器接收。这样做相比使用 RTSP 协议的好处在于,一旦切分完成,之后的分发过程完全不需要额外使用任何专门软件,普通的网络服务器即可,大大降低了 CDN 边缘服务器的配置要求,可以使用任何现成的 CDN。分发使用的协议是最常见 HTTP,代理服务器对这个协议的缓存优化相当成熟,而很少有代理服务器对 RTSP 的进行缓存优化。这对播放(软)实时视频有相当大的优势,因为这样分发
第一步: 卸载Android Studio应用及相关配置
在终端中输入:
rm -Rf /Applications/Android\ Studio.app
rm -Rf ~/Library/Preferences/AndroidStudio*
rm ~/Library/Preferences/com.google.android.studio.plist
rm -Rf ~/Library/Application\ Support/AndroidStudio*
rm -Rf ~/Library/Logs/AndroidStudio*
rm -Rf ~/Library/Cache
windows中的换行符为 CRLF,而在Linux下的换行符为LF,所以在执行add . 时出现提示
工作区的文件都应该用 CRLF 来换行。如果
改动文件时引入了 LF,提交改动时,git 会警告你哪些文件不是纯 CRLF 文件,但 git 不会擅自修改工作区的那些文件,而是对暂存区(我们对工作区的改动)进行修改。也因此,当我们进行 git add 的操作时,只要 git 发现改动的内容里有 LF 换行符,就还会出现这个警告。
恩恩,这样综合下就明白怎么回事儿了,原来 CRLF和LF是两种不同的换行格式,git工作区默认为CRLF来作为换行符,所以当我们项目文件里有用的地方使用
调用相册:
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
意思就是说,你需要在 info.plist 文件添加一个 NSPhotoLibr
单击Home Command-Shift-H
双击Home键 Command-Shift-H 按两次。
Cordova安装插件和更新的时候,有时候会遇到权限问题
Error: spawn EACCES
at exports._errnoException
at ChildProcess.spawn
at Object.exports.spawn
原因是 cordova中的 android项目下可执行文件没有权限执行,解决办法:
chmod 777 -R platforms/android/
1.已经安装好Androidstudio
2.下载配置好Android Sdk等
3.将android手机通过USB数据线连接Mac,打开终端输入system_profiler SPUSBDataType
4.找到对应设备的Product ID,并且复制出来
5.创建文件 ~/.android/adb_usb.ini ,填入ID
6.打开Android手机的开发者模式和usb调试,重新拔插usb
7.打开AndroidStudio 运行一个正常的项目。
如果要用别的手机测试,要重复上面步骤添加product Id

1. 使用 “cordova build android” 打包的时候报错:Error: Could not find gradle wrapper within Android SDK.
$ cordova build android
ANDROID_HOME=/Users/ice/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
Error: Could not find gradle wrapper within A
所有标签