如何在开发板上升级android sdk版本?
我是android的新手 我正在使用一个名为hikey 970的开发板,当它交付给我的公司时,上面安装了一个android 目前,我正在android上运行如何在开发板上升级android sdk版本?,android,sdk,upgrade,Android,Sdk,Upgrade,我是android的新手 我正在使用一个名为hikey 970的开发板,当它交付给我的公司时,上面安装了一个android 目前,我正在android上运行nnapi基准测试,使用tflite,阅读相关代码时需要getprop ro.build.version.sdk>=27(下面包括代码)。但是,该板仅提供getprop ro.build.version.release=P和getprop ro.build.version.sdk=26。这看起来很奇怪,因为安卓P通常提供更高版本的SDK 因此
nnapi
基准测试,使用tflite
,阅读相关代码时需要getprop ro.build.version.sdk>=27
(下面包括代码)。但是,该板仅提供getprop ro.build.version.release=P
和getprop ro.build.version.sdk=26
。这看起来很奇怪,因为安卓P通常提供更高版本的SDK
因此,我的问题是如何在开发板上升级sdk版本?我需要重新编译整个操作系统还是只需要下载二进制文件之类的东西?我读过很多文章,他们都在谈论sdkmanager
,就我有限的知识而言,这是离题的
#ifdef __ANDROID__
int32_t GetAndroidSdkVersion() {
const char* sdkProp = "ro.build.version.sdk";
char sdkVersion[PROP_VALUE_MAX];
int length = __system_property_get(sdkProp, sdkVersion);
if (length != 0) {
int32_t result = 0;
for (int i = 0; i < length; ++i) {
int digit = sdkVersion[i] - '0';
if (digit < 0 || digit > 9) {
// Non-numeric SDK version, assume it's higher than expected;
return 0xffff;
}
result = result * 10 + digit;
}
// TODO(levp): remove once SDK gets updated to 29th level
// Upgrade SDK version for pre-release Q to be able to test functionality
// available from SDK level 29.
if (result == 28) {
char versionCodename[PROP_VALUE_MAX];
const char* versionCodenameProp = "ro.build.version.codename";
length = __system_property_get(versionCodenameProp, versionCodename);
if (length != 0) {
if (versionCodename[0] == 'Q') {
return 29;
}
}
}
return result;
}
return 0;
}
#endif // __ANDROID__
// ==============================================
// const NnApi LoadNnApi();
// Most of the function is ommitted.
#ifdef __ANDROID__
nnapi.android_sdk_version = GetAndroidSdkVersion();
if (nnapi.android_sdk_version < 27) {
NNAPI_LOG("nnapi error: requires android sdk version to be at least %d",
27);
nnapi.nnapi_exists = false;
return nnapi;
}
#endif // __ANDROID__
\ifdef\uu ANDROID__
int32_t GetAndroidkVersion(){
const char*sdkProp=“ro.build.version.sdk”;
字符sdkVersion[PROP_VALUE_MAX];
int length=uuu系统u属性u get(sdkProp,sdkVersion);
如果(长度!=0){
int32_t结果=0;
对于(int i=0;i9){
//非数字SDK版本,假设高于预期;
返回0xffff;
}
结果=结果*10+位;
}
//TODO(levp):SDK更新到第29级后删除
//升级预发行版Q的SDK版本,以便能够测试功能
//可从SDK级别29获得。
如果(结果==28){
字符版本名称[PROP_VALUE_MAX];
const char*versionCodenameProp=“ro.build.version.codename”;
长度=\系统\属性\获取(versionCodenameProp,versionCodename);
如果(长度!=0){
if(versionCodename[0]=“Q”){
返回29;
}
}
}
返回结果;
}
返回0;
}
#endif/\uu ANDROID__
// ==============================================
//const NnApi LoadNnApi();
//该函数的大部分都已完成。
#ifdef_uuAndroid__
nnapi.android_sdk_version=GetAndroidSdkVersion();
如果(nnapi.android_sdk_版本<27){
NNAPI_日志(“NNAPI错误:要求android sdk版本至少为%d”,
27);
nnapi.nnapi_exists=false;
返回nnapi;
}
#endif/\uu ANDROID__
我发现您的代码中有问题请说出问题,而不是说有问题。代码来自tflite。问题在于能否在开发板上升级android sdk