奥利奥许可证检查
licence check for oreo
对于新的 Android 应用程序更新,我必须将 compileSdkversion
设置为 26。
当我这样做时,我在以下函数 (ServerManagedPolicy.java
) 中遇到了自动售货许可证库的问题:
private Map<String, String> decodeExtras(String extras) {
Map<String, String> results = new HashMap<String, String>();
try {
URI rawExtras = new URI("?" + extras);
List<**NameValuePair**> extraList =
**URLEncodedUtils**.parse(rawExtras, "UTF-8");
for (**NameValuePair** item : extraList) {
results.put(item.getName(), item.**getValue**());
}
} catch (URISyntaxException e) {
Log.w(TAG, "Invalid syntax error while decoding extras data
from server.");
}
return results;
}
我知道这些功能已经过时,但是 Android Vending Licensing 库没有更新版本,而且我无法找到如何使其适用于 Oreo,或者通常高于 [= 的版本25=] 19 就是我现在用的compileSdkversion
。
谁能帮忙解决这个问题?
PS。 useLibrary 'org.apache.http.legacyuseLibrary 'org.apache.http.legacy
无效。应用会直接崩溃
下一步试试:
import java.net.URLDecoder;
private static Map<String, String> decodeExtras(final String extras)
{
final Map<String, String> results = new HashMap<>();
try
{
if (TextUtils.isEmpty(extras) == false)
{
final String[] pairs = extras.split("&");
if (pairs.length > 0)
{
for (final String pair : pairs)
{
final int index = pair.indexOf('=');
final String name = URLDecoder.decode(pair.substring(0, index), "UTF-8");
final String value = URLDecoder.decode(pair.substring(index + 1), "UTF-8");
results.put(name, value);
}
}
}
}
catch (UnsupportedEncodingException e)
{
Log.w(TAG, "Invalid syntax error while decoding extras data from server.");
}
return results;
}
对于新的 Android 应用程序更新,我必须将 compileSdkversion
设置为 26。
当我这样做时,我在以下函数 (ServerManagedPolicy.java
) 中遇到了自动售货许可证库的问题:
private Map<String, String> decodeExtras(String extras) {
Map<String, String> results = new HashMap<String, String>();
try {
URI rawExtras = new URI("?" + extras);
List<**NameValuePair**> extraList =
**URLEncodedUtils**.parse(rawExtras, "UTF-8");
for (**NameValuePair** item : extraList) {
results.put(item.getName(), item.**getValue**());
}
} catch (URISyntaxException e) {
Log.w(TAG, "Invalid syntax error while decoding extras data
from server.");
}
return results;
}
我知道这些功能已经过时,但是 Android Vending Licensing 库没有更新版本,而且我无法找到如何使其适用于 Oreo,或者通常高于 [= 的版本25=] 19 就是我现在用的compileSdkversion
。
谁能帮忙解决这个问题?
PS。 useLibrary 'org.apache.http.legacyuseLibrary 'org.apache.http.legacy
无效。应用会直接崩溃
下一步试试:
import java.net.URLDecoder;
private static Map<String, String> decodeExtras(final String extras)
{
final Map<String, String> results = new HashMap<>();
try
{
if (TextUtils.isEmpty(extras) == false)
{
final String[] pairs = extras.split("&");
if (pairs.length > 0)
{
for (final String pair : pairs)
{
final int index = pair.indexOf('=');
final String name = URLDecoder.decode(pair.substring(0, index), "UTF-8");
final String value = URLDecoder.decode(pair.substring(index + 1), "UTF-8");
results.put(name, value);
}
}
}
}
catch (UnsupportedEncodingException e)
{
Log.w(TAG, "Invalid syntax error while decoding extras data from server.");
}
return results;
}