当我尝试在手机的模拟器o中运行“ app”时,使用Kotlin的android应用程序抛出此异常。当我构建项目时,它运行良好,没有错误。
我在用:
org.gradle.internal.exceptions.LocationAwareException: buildOutput.apkData must not be null
at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:99)
at org.gradle.initialization.exception.DefaultExceptionAnalyser.collectFailures(DefaultExceptionAnalyser.java:65)
at org.gradle.initialization.exception.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:39)
at org.gradle.initialization.exception.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:29)
at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:194)
at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:141)
...
Caused by: java.lang.IllegalStateException: buildOutput.apkData must not be null
at com.android.build.gradle.internal.ide.EarlySyncBuildOutput$Companion$load$2.invoke(EarlySyncBuildOutput.kt:103)
at com.android.build.gradle.internal.ide.EarlySyncBuildOutput$Companion$load$2.invoke(EarlySyncBuildOutput.kt:67)
at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:174)
at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:691)
at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:721)
at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:712)
...
Run Code Online (Sandbox Code Playgroud) 我正在寻找为我的应用程序创建(REST)API.初始/主要目的是供移动应用程序(iPhone,Android,Symbian等)使用.我一直在研究基于Web的API的身份验证和授权的不同机制(通过研究其他实现).我已经掌握了大部分基本概念,但我仍在寻找一些领域的指导.我想做的最后一件事就是重新发明轮子,但我找不到任何符合我标准的标准解决方案(不过我的标准是我的误导,所以也可以随意批评).此外,我希望API对于使用它的所有平台/应用程序都是相同的.
我会继续向oAuth抛弃我的反对意见,因为我知道这可能是第一个提供的解决方案.对于移动应用程序(或更具体地说是非Web应用程序),离开应用程序(转到Web浏览器)进行身份验证似乎是错误的.此外,没有办法(我知道)浏览器将回调返回给应用程序(特别是跨平台).我知道有几个应用程序可以做到这一点,但它只是感觉不对,并且在应用程序用户体验中取得了突破.
外部开发人员将请求API帐户.他们将得到一个apikey和apisecret.每个请求至少需要三个参数.
需要apikey来识别发出请求的应用程序.时间戳的作用与oauth_nonce类似,可以避免/减轻重放攻击.哈希确保请求实际是从给定apikey的所有者发出的.
对于经过身份验证的请求(代表用户完成的请求),我仍然未决定使用access_token路由或用户名和密码哈希组合.无论哪种方式,在某些时候都需要用户名/密码组合.因此,当它发生时,将使用几条信息(apikey,apisecret,timestamp)+密码的散列. 我喜欢这方面的反馈. 仅供参考,他们必须首先对密码进行哈希处理,因为我没有在没有散列的情况下将密码存储在我的系统中.
仅供参考,这不是要求如何构建/构建API,一般只是如何仅在应用程序内处理身份验证和授权.
对于只需要apikey作为请求的一部分的API,如何防止apikey所有者以外的其他人能够看到apikey(因为明确发送)并过多地请求推送它们超过使用限制?也许我只是在想这个,但是不应该有一些东西需要验证是否已向apikey所有者验证了请求?在我的情况下,这是apisecret的目的,它不会被显示/传输而不被散列.
说到哈希,md5和hmac-sha1怎么样?当所有值都用足够长的数据(即apisecret)进行散列时,这真的很重要吗?
我之前一直在考虑为用户密码哈希添加每用户/行盐.如果我这样做,应用程序如何能够在不知道使用的盐的情况下创建匹配的哈希?
我已经构建了我的应用程序,我可以在我的本地模拟器上运行它(也可以通过更改调试服务器在同一网络中的我的Android设备上运行).
但是,我想构建一个apk,我可以发送给没有访问开发服务器的人,我希望他们能够测试应用程序.
我看到在文档的iOS部分有一个使用脱机捆绑的部分.但我无法弄清楚如何为Android做同样的事情.这可能吗?如果是这样,怎么样?
更新:关于这个问题的答案(反应原生android无法加载JS包),据说离线包可以从开发服务器下载.但是当我从开发服务器获取捆绑包时,无法加载图像文件.
我想制作一个免费版的Android应用程序,但想在其上嵌入广告.我不确定我应该从哪里开始?是否有专门从事移动广告的知名移动广告公司?
我有一个动态HTML5文档,不包含任何外部资源(没有图像,css和脚本在文档内编码).这个HTML5应用程序与Internet浏览器一起正常工作.我想知道,如果可以将这个HTML5应用程序转换为独立的Android应用程序,那么它可以直接在没有浏览器的情况下执行.请指教.
我找不到这些信息.Android React Native是否真的在sdkMin18上运行,因此大多数Android版本都支持它?
android mobile-application ios mobile-development react-native
简短的总结是:我如何构建一个APK和单独的库(我指的是某些形式的类集合(理想情况下也是资源),例如JAR,AAR或DEX文件),但不包括那些库中的库. APK; 相反,应用程序在运行时加载它们?
所以我的主要问题是如何构建这样的应用程序(例如Gradle配置).如何指定哪些类进入哪些JAR或DEX文件?我是否为每个想要最终使用的DEX文件创建了一个Android Studio模块?
一个密切相关的问题是Java代码应该如何加载外部库并在运行时访问它们的类.对于后者,我希望通过类加载器从dex文件访问app类时显示的方法可行.
我试着在说明https://developer.android.com/studio/projects/android-library.html,但是这是建立一个APK 不包括依赖库.
我也尝试过Multidex(https://developer.android.com/studio/build/multidex.html),但这似乎并没有让开发人员控制哪些类进入哪个DEX文件,此外,将它们打包成一个APK.AFAICT无法在运行时控制这些DEX文件的加载.
这里有" XY问题 " 的可能性,所以我最好解释一下背景.
我正在为客户构建一个应用程序.它不会通过应用程序商店分发,因此它无法访问正常的更新机制.相反,客户希望应用程序能够通过下载自身的新组件来更新自己,以替换旧组件,而无需手动加载新的APK.这里的主要动机是非技术用户的更新必须容易.如果应用程序可以控制更新过程,它可以使其流畅并引导用户.
此外,该应用程序将用于互联网访问稀缺和昂贵的领域,因此客户希望能够以较小的块(例如2MB)发布应用程序更新,而不是强迫用户重新下载整个应用程序以接收小更新.
如果重要的话,我应该提到的要求的一个方面是,在运行时加载的库应该存在于microSD卡上.这也有助于在没有互联网访问的情况下分发更新.
该应用程序的当前状态是大约50%写入:即,已发布了几个早期版本,但现在需要修改(重组)应用程序以满足上述要求以及其他要求.
android dynamic-class-loaders mobile-application android-gradle-plugin
运行Flutter项目后,出现此错误。我能做什么来解决它?
Error: The method 'setMockMessageHandler'
isn't defined for the class 'BasicMessageChannel<dynamic>'.
FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud) mobile-application dart flutter flutter2.0 flutter-exception
我正在我的构造函数中注入NavController,因为我想推送一个页面.但是,下面的代码在Ionic 4中不起作用.在Ionic 3中完全没问题.
构造函数
constructor(public menuCtrl: MenuController, public navCtrl: NavController) {
this.menuCtrl.enable(true);
}
Run Code Online (Sandbox Code Playgroud)
方法
goToSecondPage()
{
this.navCtrl.push(list);
}
Run Code Online (Sandbox Code Playgroud)
mobile-application hybrid-mobile-app ionic-framework angular ionic4
这是关于我想要实现的(降低质量的)GIF。
我有一个scrollview位于屏幕一半的。
我想要的是将其scrollview向上拖动,然后在到达某个位置时将其发送drag touch event给scrollview自身,以便它可以继续滚动。
contentContainerStyle。效果很好,但是我无法单击它后面的视图。有没有一种方法可以单击滚动视图的空白区域?我还尝试检测滚动位置,以便相应地向上移动视图
<ScrollView onScroll={event => moveScrollViewUpIfNeeded(event)}>
...
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
但是当我在iOS模拟器上进行测试时无法正常工作。事件甚至没有触发。React Native Docs指出onScroll需要scrollEventThrottle工作。但是,scrollEventThrottle仅在iOS上可用。就我而言,我也想在Android上使用它。
而且,如果我成功实现了这一点,那么我将面临另一个UI问题:向上拖动ScrollView时,如何在视图尚未到达所需位置时阻止它滚动?
因此,能否请您给我一些实现此目标的提示:)?
谢谢,
mobile-application reactjs react-native react-native-scrollview