当我安装我的应用程序时,它要求获得此权限:
防止电话睡觉
我假设它来自WAKE_LOCK权限,但我的应用程序没有指定.这是我的清单中的权限列表:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
Run Code Online (Sandbox Code Playgroud)
我正在与ACRA和Google Analytics进行关联,但不知道这些权限是如何产生的.
更新:这是我的主模块的build.gradle.它确实包括谷歌游戏分析:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile project(':acra-4.7.0')
compile 'com.google.android.gms:play-services-analytics:8.4.0'
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
更新:正如CommonsWare所建议的那样,清单中发现了罪魁祸首:
ADDED from [com.google.android.gms:play-services-basement:8.4.0]
C:\Users\Bill\Workspace\NetworkExplorer\app\build\intermediates\exploded-
aar\com.google.android.gms\play-services-basement\
8.4.0\AndroidManifest.xml:23:13-66
uses-permission#android.permission.WAKE_LOCK
Run Code Online (Sandbox Code Playgroud)
对于简单的Google Analytics报告,我似乎不需要WAKE_LOCK.
我的build.gradle中的minSdkVersion指令似乎不起作用(Android Studio 0.8.2)
这是"移动"模块的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
compile 'com.android.support:appcompat-v7:20.+'
compile 'com.google.android.gms:play-services-wearable:+'
}
Run Code Online (Sandbox Code Playgroud)
当我尝试在我的Samsung Galaxy S4(API 19)上调试它时,我在"Compatible"列中看到此消息:
"不,minSdk(API 20)> deviceSdk(API 19)"
最小SDK应该明确为build.gradle指定的9.如果我尝试启动它,我得到:
"失败[INSTALL_FAILED_OLDER_SDK]"
我已经在这个项目中搜索了可能强制minSdk为20的任何迹象.在AndroidManifest.xml中没有任何内容.这个项目是一个可穿戴的应用程序.
我在同一台机器上构建了另一个可穿戴应用程序,它在三星上加载和运行没有问题.我试图使用的这个应用程序是由朋友放在一起的.它只有少量代码.build.gradles是相同的.
完全莫名其妙.请帮忙!
对不起,这是一个很长的问题,但它有点牵扯.谢谢阅读.
我有一个自定义套接字工厂和套接字类(Android 5.0),我已经开发它来执行我需要在该级别执行的一些特定任务.这是我的套接字工厂和套接字(为简洁起见,我省略了许多方法):
public class CustomSocketFactory extends SSLSocketFactory {
private final SSLSocketFactory delegate;
public CustomSocketFactory(SSLSocketFactory delegate) {
this.delegate = delegate;
}
private Socket createCustomSocket(Socket socket) {
if (socket instanceof SSLSocket) {
socket = new CustomSocket((SSLSocket) socket);
}
return socket;
}
@Override
public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException {
return createCustomSocket(delegate.createSocket(s, host, port, autoClose));
}
@Override
public Socket createSocket(String host, int port) throws IOException {
return createCustomSocket(delegate.createSocket(host, port));
}
private class CustomSocket extends SSLSocket { …Run Code Online (Sandbox Code Playgroud) 被这一个难倒.这段代码给了我
PHP致命错误:调用未定义的方法MyObject :: helloWorld()
但只是第二次运行它,第一次运行正常.
class MyObject
{
function __construct()
{
echo("creating MyObject...");
}
public function helloWorld()
{
echo("Hello World!");
}
}
$obj = new MyObject();
$obj->helloWorld();
Run Code Online (Sandbox Code Playgroud)
我也看到第二次生成"创建MyObject ...",但不是"Hello World!".
我正在升级到PHP 5.4.0.
我必须遗漏一些非常明显的东西.