小编Arc*_*nha的帖子

如何合并/合并两个AAR文件?

我的用例如下:

  1. 我有一个第三方图书馆向我提供aar图书馆(说L1)。请注意,我没有这个来源。
  2. 我想在L1的顶部写一个包装层,并创建另一个aar(SDK)(假设L2)。L1应该包装在L2内。请注意,L2中的代码是最少的,就像L1的包装器一样。
  3. 这个想法是,如果有人将此SDK集成到他们的Android应用程序中,则该应用程序仅应与L2进行交互,甚至不需要知道L1的存在。基本上,我希望在应用程序gradle文件中仅包含L2。

我的问题是这是否可能?我在堆栈溢出时看了一些类似的问题-我得到了以下可能的解决方案-但似乎都不适合:

  1. 使用android-fat-aar插件-据我了解,此插件无法与最新的gradle版本一起使用,并且不再进行主动维护。我正在使用Android Studio版本3.3.1和gradle版本4.10.1。我认为它还有其他一些局限性,在使用辅助文件时无法正常工作。
  2. 一些答案似乎表明将aar发布到某些仓库(例如maven),在这种情况下,它将得到解决。我不确定我是否理解正确,但是无论如何,将L1或L2发布到任何公共存储库都不是我的选择。

因此,再次重申基本要求是:

  1. 该应用程序应仅调用L2的API并与L2交互。
  2. 该应用程序只需要在其gradle文件中包括L2依赖关系?

考虑到我提到的限制,有什么方法可以实现它-不一定必须通过合并aar。

以下可能/是否有意义?

  1. 编写L2所需的代码,并从中创建一个jar
  2. 提取L1 aar(因为aar基本上是一个档案)
  3. 添加在上面的步骤1中创建的jar,并创建一个包含L2 API的新aar(例如L3)。
  4. 现在,该应用程序需要添加为依赖项,并且仅与一个依赖项L3(将具有L2 API)进行交互。

android dependency-management gradle android-studio android-gradle-plugin

9
推荐指数
1
解决办法
824
查看次数

Google Interactive Media Ads (IMA) 和 Google AdMob 之间的区别

我阅读了有关Google IMAGoogle AdMob 的信息,据我了解,两者都用于投放广告。不同之处在于:

1)IMA通常在需要视频广告时使用Google ,我认为 AdMob 不支持。
2)AdMob一般在只需要Banner Ads 时使用,因为它比IMA SDK 更容易集成。
3) 在 的情况下IMA,需要VAST 服务器来返回 Ads,但在 的情况下AdMobAdMob需要一个帐户来创建 AdUnit。

所以我的问题是:

1)我对差异的理解是否正确?
2)IMA似乎是功能的超集,AdMob因为它也可以支持横幅广告。那是对的吗?
3)是否有任何其他理由来使用AdMob,而不是IMA除了集成的简便性和不要求VAST服务器?

ads admob google-ima

7
推荐指数
1
解决办法
4751
查看次数

html5视频播放器和视频js之间的关系

我开始讨论HTML5和javascript,我对video.js有一个基本的疑问,关于HTML5播放器/ html"video"标签和video.js之间的关系以及video.js的目的.我的具体问题是:

  1. video.js是否在内部使用HTML5原生播放器,还是创建并使用自己的播放器?

如果是,那么:

一个.使用Video.js还有其他原因,除了它提供的更好的外观和感觉.我知道有一些可用于video.js的插件,它们具有播放HLS和DASH视频等附加功能,但在这里我说的是核心video.js模块.

湾 是否有必要使用HTML5播放器,或者可以将其更改为使用video.js中的自定义播放器

如果对Q1的回答是否定则:

一个.如果video.js使用自己的播放器,那么为什么它甚至需要在HTML文件中使用"视频"标签来创建和使用自己的播放器.这似乎表明video.js和HTML5播放器之间存在某种关系.

湾 另外我看到video.js的构造函数似乎只在html文件中解析/加载"video"标签时调用,而不是在html的"head"部分中包含的javascript文件时调用.那么什么/如何/谁创建HTML的"video"元素和video.js之间的映射(如果有的话)被初始化.

javascript html5-video video.js

6
推荐指数
1
解决办法
2068
查看次数

ejabberd“社区服务器”是否支持推送通知?

Ejabbered 服务器有 3 个版本——“Ejabberd 社区服务器”、“Ejabberd SaaS”和“Ejabberd 商业版”。只有第一个是开源的。

我的问题是“Ejabberd Community Server”版本是否支持推送通知?

在以下视频教程中https://www.youtube.com/watch?v=LToKLTf-N_E&feature=youtu.be&t=22m34s

6:40 提到“Ejabberd SaaS”和“Ejabberd Business Edition”原生支持推送通知。这是否意味着“Ejabberd Community Server”版本不支持?

我的用例是我希望能够从服务器向各种客户端设备发送推送通知。客户端正在运行 Android 操作系统,但是我不能使用 Firebase 云消息传递(或 Google 云消息传递),因为客户端设备没有播放服务,fcm 和 gcm 都需要这些服务

xmpp ejabberd push-notification

4
推荐指数
1
解决办法
978
查看次数

如何从命令行在Samsung Tizen TV上安装应用程序

我想知道是否有办法使用命令行在Samsung Tizen TV上安装应用程序.

我的意思是说如果我使用我的PC上的IDE构建应用程序并生成"wgt"文件,有没有办法使用其他没有IDE的PC的"wgt"文件来安装应用程序?

基本上有什么东西相当于 Tizen TV中的adb安装吗?

我浏览了他们提供的文档,我只能找到需要IDE的安装过程:

https://www.samsungdforum.com/TizenGuide/tizen3511/index.html

samsung-smart-tv tizen

3
推荐指数
2
解决办法
1万
查看次数

是否需要通过TCP进行应用程序级重传和确认?

我有以下问题:

1)TCP是否保证分组的传送,因此如果使用的传输协议是TCP,则需要应用级重传.假设我已经在客户端和服务器之间建立了TCP连接,并且服务器向客户端发送消息.然而,客户端脱机并且仅在说了10个小时后才返回,因此TCP堆栈会处理重新传输并将消息传递给客户端还是服务器上运行的应用程序需要处理它?

2)与上述问题相关的是,如果传输协议是TCP,则需要应用级别ACK.应用程序ACK的一个原因是没有它,应用程序将不知道远程端何时收到消息.除此之外有什么理由吗?意思是保证邮件本身的传递?

sockets tcp

2
推荐指数
1
解决办法
825
查看次数