我正在使用Windows 10,戴尔XPS 13和Android Studio v1.4.1.我安装了SDK Tools 24.4.1以及Google USB Driver 11.#在手机上我启用了USB调试,可以在文件资源管理器中查看设备(即文档,图片等).
但该设备从未出现过使用adb devices,也未出现在Android Studio中.
我以前从来没有遇到过这么多Android设备调试的麻烦,但我不知道它是Marshmallow还是Nexus 6P应该受到责备.更重要的是,我不知道在这一点上做什么来调试它.
我正在与第三方库(Poco C ++)链接,并从链接器中收到以下未解决的符号错误。它似乎找不到“ CryptAcquireContextW”,“ CryptReleaseContext”和“ CryptGenRandom”。
根据此处的Microsoft信息,可以使用“ Advapi32.lib”链接这些功能。我已将其添加到链接器输入中,但符号仍未解析。
1>PocoFoundationCLR.lib(RandomStream.obj) : error LNK2019: unresolved external symbol __imp__CryptAcquireContextW@20 referenced in function "public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)" (?readFromDevice@RandomBuf@Poco@@UAEHPAD_J@Z)
1>PocoFoundationCLR.lib(RandomStream.obj) : error LNK2019: unresolved external symbol __imp__CryptReleaseContext@8 referenced in function "public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)" (?readFromDevice@RandomBuf@Poco@@UAEHPAD_J@Z)
1>PocoFoundationCLR.lib(RandomStream.obj) : error LNK2019: unresolved external symbol __imp__CryptGenRandom@12 referenced in function "public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)" (?readFromDevice@RandomBuf@Poco@@UAEHPAD_J@Z)
Run Code Online (Sandbox Code Playgroud)
我已经确认Advapi32.lib在搜索路径上,而Advapi32.dll在Windows目录中,所以我不确定该错误如何继续发生。
想法,有人吗?
谢谢!
有没有办法检查代码是否已解锁设备的引导加载程序?不是设备是否植根,只是引导加载程序状态。
当然有这个命令:
fastboot oem device-info
Run Code Online (Sandbox Code Playgroud)
但是在常规(非快速启动)模式下运行时,我需要能够在 C++(首选)或 Java 中做出相同的决定。
出于某种原因,我的代码库突然开始收到数千条这些警告.但到目前为止,所有文件和路径都是完全正确的,与我在Finder上看到的磁盘相匹配.他们是否秘密处理其他案件?当问题实际上不存在时,为什么Xcode会产生这些警告?
虽然http://stackoverflow.com/questions/43067017/non-portable-path-to-file-file-h-specified-path-differs-in-case-from-file-na是关于同样的警告,但在此case 我已经验证导入路径与磁盘上的文件名匹配.
使用 Android Studio,我有一个 Android 库项目,它在调试模式下生成“library/build/outputs/aar/MyLIB.aar”就好了,但在发布模式下不这样做。我没有看到错误,只是“构建成功”在“Gradle Console”窗口中,但没有发布模式工件。
这里提出了一个类似的问题,我得到的行为与链接中提到的#user1624552 相同:
“gradlew clean”后跟“gradlew aR”导致我的AAR被创建并正确放置在上面的目录中。但是使用 Android Studio 和“发布模式”构建变体不会创建 AAR 文件。
在 Debug 变体中是否配置了在 Release 变体中未配置的内容?
谢谢,ALF
我有一个名为“ myLibAndroid”的Android .aar项目。该目录结构具有一个根级别的“ build.gradle”文件和一个名为“ library”的子目录,该子目录还包含一个“ build.gradle”文件。.aar文件构建良好,但无法发布到Artifactory。
这是我的顶级“ build.gradle”文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.0.0'
}
}
allprojects {
repositories {
jcenter()
maven {
url 'http://artifactory.mycompany.local/artifactory/libs-releases-local'
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是“库”目录中的“ build.gradle”文件:
apply plugin: 'com.android.library'
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
def packageName = 'com.mycompany.myLib.myLibAndroid'
def libraryVersion = '0.0.1'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 22
versionCode 1
versionName libraryVersion
setProperty("archivesBaseName", "myLibAndroid-$libraryVersion")
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), …Run Code Online (Sandbox Code Playgroud) 我在Mac和PC上使用Android Studio进行开发,并且在两个平台之间移动项目时看到了不良行为.
其中一个问题是关于'.idea/gradle.xml'中的"gradleHome"值,这是Mac上看起来正确的值:
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10" />
Run Code Online (Sandbox Code Playgroud)
当我签出项目并将其加载到Windows上的Android Studio中时,"gradleHome" 的".idea/gradle.xml"值将成为硬编码路径:
<option name="gradleHome" value="C:\Program Files\Android Studio\gradle\gradle-2.10" />
Run Code Online (Sandbox Code Playgroud)
显然,如果使用硬编码路径检入文件,则会出现问题,但在检查过程中我似乎无能为力但忽略此更改.
有谁知道为什么会发生这种情况或如何预防?我不应该将此文件检入SVN吗?
谢谢!
我正在编写一个依赖于OpenSSL的跨平台C ++库,我将其静态链接并捆绑到我的库中以便于使用。我想为我的库提供一个#include目录,该目录显然包含一个“ openssl”子目录。
不幸的是,每个体系结构,每个平台的OpenSSL #include目录的内容是不同的。因此,例如,(最小)iOS的三个不同版本的OpenSSL头文件。添加更多有关TV-OS支持和模拟器版本的信息。Windows和Android上存在不同程度的相同问题。
仔细检查后,在所有平台和体系结构中唯一通用但不同的文件是“ opensslconf.h”,它通常仅相差几行,有时甚至只有一行。
例如,tvOS版本的“ opensslconf.h”包含:
#ifndef OPENSSL_NO_ASYNC
# define OPENSSL_NO_ASYNC
#endif
Run Code Online (Sandbox Code Playgroud)
而iOS版本没有。
RC4_INT的定义之间存在更频繁的区别:
// 64-bit architectures?
#define RC4_INT unsigned int
// 32-bit architectures?
#define RC4_INT unsigned char
Run Code Online (Sandbox Code Playgroud)
我只希望有一套适用于所有体系结构和平台的OpenSSL #include。我不想为每个架构/平台都复制所有这些文件,尤其是因为变化太多。
我的第一个问题是,是否可以根据需要设置一个OpenSSL #include目录?如果是这样,我应该选择哪个版本的“ opensslconf.h”,我怎么知道它会起作用?
我的第二个问题是,为什么这是一个问题。为什么OpenSSL无法封装这些平台差异?它是否已经在跟踪为其他体系结构构建时会发生变化的许多其他变量和类型?
我正在尝试将图像上传到 http 服务器,该服务器据称以“标准方式”接受文件,无论这意味着什么。我将互联网上的一堆示例合并到这个解决方案中,每个示例都实现了我想要的一小部分。
'srcBitmap' is a byteArray containing the JPG data.
val response: HttpResponse = httpClient.submitFormWithBinaryData(
url = URLUploadFile,
formData = formData {
append("bitmapName", "image.jpg")
append("image", srcBitmap, Headers.build {
append(HttpHeaders.ContentType, "image/jpg")
append(HttpHeaders.ContentDisposition, "filename=image.jpg")
})
},
block = {
headers {
append(HttpHeaders.ContentType, contentTypeString)
append(HttpHeaders.CacheControl, "no-cache")
append("my-app-authtoken", PREFKEY_AUTHTOKEN)
append("my-app-id", PREFKEY_USERID)
}
contentType(ContentType.Application.Json)
body = jsonBody.toString()
})
Run Code Online (Sandbox Code Playgroud)
主要的“body”部分是一些在“block”参数中传递的 json。该数据已按预期安全到达。
但是图像本身的二进制数据要么没有显示在服务器端,要么被服务器忽略,因为我没有适当设置一些“键”值。
这是使用 Ktor 上传文件的正确方法吗?如果不是,我做错了什么?
编辑简化并显示我的EXACT代码.
我有以下数据需要序列化为JSON以及从JSON解析.
string name;
std::map<string, string> metaData;
Run Code Online (Sandbox Code Playgroud)
我需要将JSON嵌套/分层,如下所示:
{
"name":"john smith"
"metadata":
{
"age":45,
"middle_name":"william",
},
}
Run Code Online (Sandbox Code Playgroud)
这是我的精确代码:
void DeserializeFromJSON(string &jsonString)
{
// Parse the JSON
Poco::JSON::Parser jsonParser;
Poco::Dynamic::Var parsedJSON = jsonParser.parse(jsonString);
Poco::Dynamic::Var parsedResult = jsonParser.result();
// Extract the JSON Object
Poco::DynamicStruct jsonStruct = *parsedResult.extract<Poco::JSON::Object::Ptr>();
// Get the name
name = jsonStruct["name"].toString();
// Get the meta data -- which of these should I use???
Poco::Dynamic::Var metaVar = jsonStruct["metadata"];
Poco::JSON::Object metaObj = jsonStruct["metadata"];
// At this point, exactly what is it …Run Code Online (Sandbox Code Playgroud)