【问题标题】:Using compiled SDK in Android Studio在 Android Studio 中使用编译好的 SDK
【发布时间】:2016-11-26 19:32:11
【问题描述】:

我正在尝试从源代码编译 android-6.0.1 并在 Android Studio 中使用已编译的 SDK。为了编译 SDK,我尝试了以下命令:

 $ lunch sdk-eng
 $ make sdk

也试过了:

 $ lunch sdk-eng
 $ make PRODUCT-sdk-sdk showcommands

编译结果0错误。

为了在 Android Studio 中添加 SDK,我检查了关于如何更改 SDK 路径的 SO questions。路径更改后我面临问题。我编译的 SDK 的文件夹有名为 android-6.0.1 的关键文件夹,例如

 platforms/android-6.0.1
 build-tools/android-6.0.1

SDK里面的完整文件夹是:

 add-ons  build-tools  docs  documentation.html  extras  platforms  platform-tools  RELEASE_NOTES.html  samples  system-images  tests

编译后的 SDK 适用于 API 版本 23。

以下是我目前尝试在 Android Studio(版本 2.1.2)中添加编译后的 SDK 的步骤

1) 更改 sdk 路径 -> Gradle 同步开始 ->

(记住 sdk 文件夹确实有一个构建工具文件夹)

我的应用程序build.gradle 包含

android {
 compileSdkVersion 23
 buildToolsVersion "23.0.0"

 defaultConfig {
    applicationId "com.example.sdktest"
    minSdkVersion 22
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}

2) build.gradle 不允许像 6.0.1 这样的字符串作为平台名称,所以我尝试重命名相关文件夹

  • platforms/android-6.0.1 -->platforms/android-23
  • build-tools/android-6.0.1 --> build-tools/23.0.0
  • system-images/android-6.0.1 --> system-images/android-23

修改build-tools/23.0.0/source.properties 以包含Pkg.Revision=23.0.0

我比较了 meld 中的build-tools 文件夹(左边是新编译的 SDK;文件夹层次结构是相同的,虽然我还没有检查所有差异):

[更新]

我尝试按照 Android Studio 提示安装构建工具版本 23.0.0 和 com.android.support:appcompat-v7:23.1.1 -> gradle sync 再次启动,并在日志中打印以下内容(然后仍然卡住):

  build-tools/23.0.0/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

我尝试安装包lib32z1,但没有解决问题。有没有人尝试在 Debian jessie(64 位)上修复它?

【问题讨论】:

  • “所以我尝试重命名相关文件夹” 不需要这样做。一般步骤是: 1) 在AS 中更改SDK 路径,到Project Structure -> SDK Location 并指向编译好的SDK out/host/linux-x86/sdk/android-sdk_eng.xxx_linux-x86; 2) 按照 IDE 提示安装步骤 1 中提到的构建工具。
  • 您似乎处于正确的条件来检查the solution 以解决您的一个相当古老的问题。请记住,通过接受有用的答案,您向未来的问题寻求者表明答案是正确的,从而帮助他们更快地解决问题。

标签: android android-studio sdk android-source


【解决方案1】:

我安装了以下库来解决它:

  • libc6-i386
  • lib32stdc++6
  • lib32gcc1
  • lib32ncurses5

我在这个答案中找到了解决方案:https://stackoverflow.com/a/22592888

【讨论】:

    猜你喜欢
    • 2015-03-16
    • 2017-07-27
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多