2022 年了,我决定搭一个 Android 2.2 的开发环境

跟标题说的一样,我就是这么葛。说起来原因其实也挺简单,原来也提到过,手里不是有个老掉牙的看电子书的设备叫“锦书”吗?对了,它就是 Android 2.2 的系统,API level 是 8。搭个环境就是想看看还能不能给它写写软件玩玩,毕竟之前鼓捣破解它的时候,资料上说的是可以的。

Android 2.2 的年代,正经的开发工具应该还是 Eclipse 再加上 ADT。但我不想从 Eclipse 开始折腾,想从 Android Studio 1.0 起步。以下如实记录。

首先找到 Android Studio 1.0 稳定版发布时的网络文章(含下载链接和使用教程):https://blog.csdn.net/giantgreen/article/details/41832647。其中的直接下载链接是 https://dl.google.com/dl/android/studio/install/1.0.0/android-studio-bundle-135.1629389.exe

安装时需要 JDK 7,Oracle 的直接下载页面是 https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html;直接下载链接是 https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html#license-lightbox;但是直接访问这个链接会要求登录。JDK 默认会安装到 Program Files 下,但是会由于路径中的空格而导致 Android Studio 的安装程序识别失败,手动把目录改成 Progra~1 就行了。

安装后第一次启动,大概率会出现 Fetching Android SDK component information 提示信息,且很长时间(真的会很长)没有反应的问题,见 https://blog.csdn.net/a78270528/article/details/46659417;按所说操作(省流:卡很长时间的原因是网络连接有问题,想跳过可如下操作。在 Android Studio 安装目录下的 bin 目录下,在 idea.properties 文件最后追加 disable.android.first.run=true)后,我没有主动中断还在一直尝试联网的过程,反正过/等了一个晚上以后,早上来看就可以按 Finish 结束了。

再次打开 Android Studio,创建新项目点不动。去 Configure 中查看,SDK Manager 条目是灰色的,看来是没有检测到可用的 SDK Manager。

不知道 Android Studio 1.0 匹配的 SDK Manager 的版本,到 https://developer.android.google.cn/studio#downloads 处下载最新版本的 Command line tools,执行时报错,显然跟 JDK 7 存在不兼容的问题。找到 https://blog.csdn.net/H1101370034/article/details/84989089,下载了里面的 r16。包里的 SDK Manager 是 exe 形式的,打开会自动连接 dl-ssl.google.com,显然不会通。

找到一个中文站点,https://www.androiddevtools.cn/,里面有几乎所有的 Android 开发官方组件的各个版本的链接。下载了 Android 2.2 的(Froyo,API level 8,revision 3)SDK,解压到上面 SDK Manager 所在目录的 platforms 目录里。

打开 Android Studio,选择 Configure,Project Defaults -> Project Structure,把 SDK 的路径设置为上述 platforms 目录,返回来后,则可以发现 SDK Manager 条目已经正常,且可以创建新工程。

新工程的向导走下去,会要求下载 build tools 19.1,自动下载也不可达,需要手动下载。根据 https://blog.csdn.net/weixin_33862041/article/details/85806054 推测,URL 应为 https://dl-ssl.google.com/android/repository/build-tools_r19.1-windows.zip。这个网址一直连接不通,后来灵机一动,把它改成了 http://dl.google.com/android/repository/build-tools_r19.1-windows.zip,竟然成了。把它解压到了 SDK 目录下的 build-tools 下,包中的顶级目录名为 android-4.4.2,看上去好像 Android Studio 没认,怀疑需要改名为 19.1.0(没试)。

工程创建成功后,Messages 栏中提示:

Error: Failed to find: com.android.support:appcompat-v7:8.+
<a href=”install.m2.repo”>Install Repository and sync project</a><br><a href=”openFile”>Open File</a><br><a href=”open.dependency.in.project.structure”>Open in Project Structure dialog</a>

点击 Install 这个链接,又出现向导,要下载安装 Android Support Repository (Revision 47),但多次尝试均会很快中断,故而查找手动下载链接,在 https://stackoverflow.com/questions/36936271/installing-android-support-repository-offline 中发现有,是 https://dl.google.com/android/repository/android_m2repository_r47.zip(无梯子下载很快)。把其中的内容(顶级目录为 m2repository)解压到 SDK Manager 所在目录下的 extras\android 目录下即可。

这样下来,应该就可以用向导生成一个测试工程了(我的测试工程当然选择了 min SDK 为 8)。生成的工程文件中,会自动依赖 v7 的 support 库(主要是因为生成的代码里 MainActivity 的基类使用的是 ActionBarActivity)。依赖 v7 的 support 库会导致编译时有额外的问题,为了快刀斩乱麻,我将之去掉了,MainActivity 的基类直接使用系统类 Activity 就好。

我没有创建任何模拟器,执行 Build 操作,在其过程顺利结束后,发现找不到 .apk 文件。但是把真机连接到 PC 上,直接运行 app 则毫无问题,运行成功后在 outputs 目录下也确实看到了 .apk 文件。疑惑了好一阵。

目前并不确定编译出的安装包确实是可以在 Android 2.2 上运行的,这一点最好能找一台真实设备进行验证确认。之所以没有直接连锦书,是想把推进做得更扎实一点。

理论上到这里就结束了。如果对上述过程中的疑问还有推敲的兴趣的话,恐怕就得另找一台电脑从头按步骤操作,然后再进行观察了。

另一个较完整的过程介绍:https://www.cnblogs.com/sonyi/p/4154797.html

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注