由于有关于Volley的这个精彩的演示文稿,我试图将它包含在我正在进行的项目中.我发现自己纠正了我在发布的源代码中发现的一些错误.
有没有人知道是否会有一些可以为项目做贡献的GitHub项目,还是有其他方式向开发人员传达错误和功能请求?
关于我与Volley的问题:
1.似乎重定向不能正常工作:Volley返回错误代码302而不是重定向到响应头中给出的位置.
2.获取缓存目录在运行4.2.2的模拟器上不起作用:
cacheDir = new File(context.getCacheDir(), DEFAULT_CACHE_DIR);
final String cacheDir1 = "/Android/data/cache/";
cacheDir = new File(Environment.getExternalStorageDirectory().getPath() + cacheDir1);
Run Code Online (Sandbox Code Playgroud)
但是,此解决方法是特定于平台的.只是想为完成添加它.
除此之外,我认为Volley真的是一段很棒的代码,而且正是我一直在寻找的,直到我自己做了;)
更新1
这里是AOSP贡献页面的另一个链接.我认为它更像是一个独立的库.我会检查出来,虽然我仍然欣赏有关Volley的更多信息和教程.我建议的源代码只是一个快速而肮脏的修复,它在我的演示项目中完成了这个技巧.
更新2
我发现Ognyan Bankov提到的另一个有趣的博客文章是对另一个问题的回答,这可能会有所帮助.
我最近升级到Android Studio 3
gradle plugin: 3.0.0-beta2
gradle: 4.1
Run Code Online (Sandbox Code Playgroud)
在我们的项目中,我们使用:react-native":"0.46.4"与codepush插件.
建造:
gradlew assembleStagingDebug
Run Code Online (Sandbox Code Playgroud)
工作得很好,但一旦我尝试建立生产:
gradlew assembleProductionRelease
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,该错误是由processProductinoReleaseResources任务中的react创建的资源引起的:
Issues:
- ERROR: /Users/user/react/android/app/build/intermediates/res/merged/production/release/drawable-hdpi/node_modules_reactnavigation_src_views_assets_backicon.png uncompiled PNG file passed as argument. Must be compiled first into .flat file.
- ERROR: failed parsing overlays
at com.android.builder.internal.aapt.v2.AaptV2Jni.buildException(AaptV2Jni.java:154)
Run Code Online (Sandbox Code Playgroud)
在我对这个问题的征服中,我尝试了禁用proguard,如:
buildTypes {
release {
debuggable true
minifyEnabled false
shrinkResources false
}
debug {
debuggable true
minifyEnabled false
println proguardFiles
}
}
Run Code Online (Sandbox Code Playgroud)
但没有任何运气.
有任何想法吗?我还要感谢解释android资源的.flat转换在实际发生的地方发生了什么,以及为什么它在StagingDebug任务期间不会发生.
这里提出的解决方法最终对我有用.但我认为原始问题仍然存在.
更新28.3.2018自Android studio 3.1升级以来我得到了这个:
WARNING: The option 'android.enableAapt2' is deprecated and should …Run Code Online (Sandbox Code Playgroud) 我在使用gradle和Android Studio时出现问题,只有在Android Studio中构建时才会出现(BuildServer和Commandline工作正常)
applicationVariants.all { variant ->
def file = variant.outputFile
variant.outputFile = new File(file.parent, file.name.replace("app-", getDate() + "_myapp_" + getGitCommit() +"_"));
}
def getDate() {
def dateNow = new Date()
def formattedDate = dateNow.format('yyyy-MM-dd_HH-mm-ss')
return formattedDate
}
Run Code Online (Sandbox Code Playgroud)
构建工作,但当AS想要将apk复制到设备时,它会抛出Local path doesn't exist.错误.
问题是生成的文件如下所示:
2014-03-17_16-17-41_myapp__debug-unaligned.apk
Run Code Online (Sandbox Code Playgroud)
但AS寻找:
2014-03-17_16-17-18_myapp__debug-unaligned.apk
Run Code Online (Sandbox Code Playgroud)
这是由AS特定的构建步骤以某种方式生成的,导致重新计算日期.我尝试用构建日期的外部属性修复它,在整个构建过程中应保持相同,但可能由于我缺乏gradle技能,这没有帮助.
也许某人有一个解决方法让我在Android Studio中使我的构建工作.
我在使用NotificationCompat v7和Android O时遇到了麻烦.由于NotificationCompatV7的实现只实现了v4版本的不推荐使用的构造函数(在支持库26.0.0-beta1中已弃用),我无法使Notifications工作.
这里提出了NotificationCompat v4的解决方案: NotificationCompat with API 26
但由于v7版本的实施不当(https://issuetracker.google.com/issues/62475846)存在此问题,我无法在Android O上发布通知
有没有人有解决方案,或者我在这里遗漏了什么?