如何获取“Google Play开发者控制台”中显示的设备型号?

时间:2015-07-08 10:19:06

标签: android google-play android-build android-developer-api

我是开发人员并试图阻止Google Play开发者控制台中三星Galaxy Note4的特定型号,问题是我找不到设备型号与他们在控制台中写的内容之间的关联。

例如,我想知道从控制台中获取的以下列表中 SM-N910C 的转换内容: enter image description here

任何想法如何做到这一点?手动或编程...... 我不认为它是http://developer.android.com/reference/android/os/Build.html

的一部分

1 个答案:

答案 0 :(得分:0)

所以这对你来说无疑是为时已晚,但我最近也有同样的问题,所以我决定研究它,并且我已经开发了一个工作理论。

我相信Google Play开发者控制台中显示的两个字符串是Android系统属性。用户友好的是“ro.product.model”,另一个是“ro.product.device”。这种映射似乎起作用,至少对我现在可用的设备起作用。如果有人发现这两个值与Google提供的值不符,请对此进行评论!

以编程方式阅读Android系统属性需要对本机代码进行JNI调用,如下所示:

package com.example;

class Native {
    // pass a String[2]
    public static native void readModelAndDevice(String[] _results);
}

-

#include <jni.h>
#include <sys/system_properties.h>

char model[256], device[256];

extern "C" JNIEXPORT void JNICALL com_example_Native_readModelAndDevice
(
    JNIEnv * _java, jclass _class, jobjectArray _array
)
{
    __system_property_get("ro.product.model", model);
    __system_property_get("ro.product.device", device);
    jstring jmodel = _java->NewStringUTF(model);
    jstring jdevice = _java->NewStringUTF(device);
    _java->SetObjectArrayElement(_array, 0, jmodel);
    _java->SetObjectArrayElement(_array, 1, jdevice);
    return;
}

之前从未在Android Studio中完成过JNI的人应该在尝试此示例之前完成JNI教程。