一次点击就破坏了我的Android Studio项目...如何将它重新组合在一起?

时间:2016-02-11 15:32:57

标签: android android-studio build apk

我想做的只是这样: 生成调试APK,而无需启动模拟器并执行下载。 (不,"编译"和/或"构建"没有创建新的调试APK ......但是这是另一篇文章的内容)。 搜索后,我发现了这个: Build unsigned APK file with Android Studio

所以我按照步骤进行操作。最初我的" Gradle Projects"窗格完全是空的......但它正在构建项目就好了。从逻辑上讲,我不得不假设有一个空的" Gradle Projects"窗格是常态。

在上面的链接中执行这些步骤之后,我现在得到了48个(!!)不同的APK文件,我曾经得到6个,其名称为" X86-arm-armabi-7a" ...(真的吗?这些apks将X86与arm代码混合在一起?(我的项目中确实有一些原生库))

所以,为了回归,我只是朝着相反的方向前进。我回到了gradle窗格,然后按( - )删除我添加的内容。是的......一键。

哎呀。

现在,它已经消失了。所有文件仍然存在。但是没有"项目"了。我打开Android Studio,项目窗格为空。 "重新打开"菜单不再列出......

在任何其他环境中,简单地撤消你所做的事情会让你回到以前的状态。但不适用于Android Studio ......

我能找到的所有教程都是关于编写Android应用程序......没有关于Android Studio的底层架构如何实际运行的内容。其他IDE使用make文件或解决方案/项目文件,如SLN,DSW,QPF,MCP ...我在Android Studio中找不到任何类似的东西(至少可以从源代码库中找到一个还原点)

我怎样才能重新连接"文件回到"项目"?任何线索都会受到赞赏。

这些脆弱的东西使得Android Studio非常难以(并且可怕)使用......

-CSW

1 个答案:

答案 0 :(得分:0)

我能够恢复它。通过检查另一个项目,并从这些文件迁移设置。他们如何具体工作,或者如果没有必要,我不能说。

这是我所做的,项目名称由{name}

替换

文件 /settings.gradle 什么都没有。所以我把它放回一行:

include ':app'

有一个文件似乎缺失: /app/app.iml 所以我把它从其他项目中移走了。由于它没有引用实际项目名称,只有相对路径和脚本名称,所以我可以不管它。

接下来在 / {name} .iml 中有一些不同的东西: (我正在尝试大胆改变,但它没有显示......因此它们被星号标记出来)

<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="{name}"    external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
    <facet type="java-gradle" name="Java-Gradle">
    <configuration>
        **<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />**
        **<option name="BUILDABLE" value="false" />**
  </configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="false">
      {deleted two XML tags named 'output'}
<exclude-output />
<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
  <excludeFolder url="file://$MODULE_DIR$/.gradle" />
 </content>
 <orderEntry type="jdk" jdkName="Android API 16 Platform" jdkType="Android SDK" />
 <orderEntry type="sourceFolder" forTests="false" />
</component>

然后,在隐藏文件夹“.idea”中,我编辑了“ gradle.xml ”,使这一行添加:

<option name="linkedExternalProjectsSettings">
  <GradleProjectSettings>
    <option name="distributionType" value="DEFAULT_WRAPPED" />
    <option name="externalProjectPath" value="$PROJECT_DIR$" />
    <option name="gradleJvm" value="1.8" />
    <option name="modules">
      <set>
        <option value="$PROJECT_DIR$" />
        **<option value="$PROJECT_DIR$/app" />**
      </set>
    </option>
  </GradleProjectSettings>

接下来,再次在“.idea”文件夹中,我编辑了“ modules.xml ”以添加应用程序“iml”文件。一行补充:

<modules>
  <module fileurl="file://$PROJECT_DIR$/{name}.iml" filepath="$PROJECT_DIR$/{name}.iml" />
  **<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />**
</modules>

然后,当我重新启动Android Studio时,它有效。

希望下一个遇到像我这样的问题的人能够用它来恢复。

-CSW