java软件包安卓。支持v4。应用程序不存在
在我的Qt Android(5.6+、最新的SDK和NDK 10d)应用程序中,由于targetApi 26,我需要在运行时请求权限From Google docs我发现我必须这样做:
import 安卓.Manifest.permission;
import 安卓.support.v4.app.ActivityCompat;
import 安卓.support.v7.app.AppCompatActivity;
public class MyActivity extends QtActivity implements ActivityCompat.OnRequestPermissionsResultCallback
{
private static final String[] LOCATION_PERMS = {
permission.ACCESS_FINE_LOCATION
};
private static final int LOCATION_REQUEST = 1337;
private boolean hasPermission(String perm)
{
return (PackageManager.PERMISSION_GRANTED == checkSelfPermission(perm));
}
public boolean canAccessLocation()
{
return hasPermission(permission.ACCESS_FINE_LOCATION);
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
{
//Figure out what was given to us
switch(requestCode)
{
case LOCATION_REQUEST:
if (canAccessLocation())
Log.i(TAG, "Access to location is granted");
else {
Log.e(TAG, "Access to location is denied");
finish();
}
break;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//Ensure we can run the app
if (!canAccessLocation())
requestPermissions( LOCATION_PERMS, LOCATION_REQUEST );
}
}
}
这是我的身材。格雷德尔:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.安卓.tools.build:gradle:3.1.0'
}
}
allprojects {
repositories {
jcenter()
google()
}
}
apply plugin: 'com.安卓.application'
dependencies {
compile "com.安卓.support:support-v4:27.0.2"
compile "com.安卓.support:support-v13:27.0.2"
compile fileTree(dir: 'libs', include: ['*.jar'])
}
但我得到了一个错误:打包安卓。支持v4。应用程序不存在。我还试图找到安卓-support-v4。jar在我的工作站上,但没有成功。添加
compile 'com.安卓.support:support-v4:+'
from here没有任何区别
有一点很重要:我的项目是在CMake的帮助下从命令行构建的,我不能使用任何像Android Studio或Eclipse这样的IDE。我错过了什么
谢谢
# 1 楼答案
实际上,通过应用Android Studio中的依赖项,更新的
build.gradle
可以与电子设置一起工作:我还认为您需要导入活动:
# 2 楼答案
我不知道你是否还有这个问题,但万一有人想知道
我将编译sdk版本改为:27:Android 8.1(Oreo)was26:Android 8.0(Oreo) 在
build.grade
显然是安卓系统中的27.1.1。支持:支持成功了(27.0.0不起作用)。 我希望这有帮助