为什么每次我在Android Studio中创建一个新项目时,它总是会出现:
错误:(23,17)无法解决:junit:junit:4.12?
当我删除testCompile 'junit:junit:4.12'依赖项时,它不再是一个问题.
的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.okedroid.myapplication"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置开发环境,对AOSP源代码进行一些自定义修改,并希望使用Android Studio作为我的IDE.但是,在执行必要的步骤后,Android Studio似乎无法识别某些类和方法.我做错什么了吗?这是我所做的事情的简要说明:
我根据官方文档为克隆和构建AOSP做了必要的准备工作(依赖性等).之后,我用repo克隆了AOSP 7.1.1-r11分支,然后运行以下命令:
$ source build/envsetup.sh
$ lunch aosp_arm-eng
$ make
$ mmm development/tools/idegen/
$ development/tools/idegen/idegen.sh
Run Code Online (Sandbox Code Playgroud)
制作花了我大约一个小时,运行idegen.sh花了我大约5秒钟.
idegen.sh生成了一个android.ipr文件,我在Android Studio中成功导入了该文件.当提示选择SDK时,我选择了openjdk 1.8.0_121并删除了类路径中的所有库,如idegen自述文件中所示.
在让Android Studio运行初始导入操作后,我继续从电话框架中打开PhoneFactory.java,我想在其中进行修改.这是我遇到问题的地方:几十种方法都是红色的(无法解决).
我确信克隆AOSP的方式没有问题,因为make正确传递了.有任何想法吗?
我正在为自定义硬件构建 AOSP 版本,并且我想使用一些 root 权限(INJECT_EVENTS、UPDATE_DEVICE_STATS、CONNECTIVITY_INTERNAL)。
对于转速控制,最好使用基于 APK 的发行版。因此,我想在构建中包含 APK,而不是每次都构建源代码。程序成功包含,但系统权限被忽略。
有没有办法包含该程序,使其获得必要的权限?我希望 Android.mk 中的 LOCAL_CERTIFICATE、LOCAL_MODULE_CLASS 或 BUILD_PREBUILT 可以实现某种连接。
编辑:解决方案是首先确定用于构建 Android 系统的签名。它们存在于 AOSP 内的 /build/target/product/security/platform 中。一旦获得这些签名,我就可以创建一个新的密钥库。然后,我使用此处找到的工具 keytool-importkeypair 将密钥导入到新的密钥库中。
https://github.com/getfatday/keytool-importkeypair
完成后,我可以在 Android Studio 中选择密钥库,并正确安装和调试具有必要权限的程序。