我正在使用Android Developer Tool开发一个Android应用程序。 现在我尝试了新的Android Studio,如果将我的智能手机与电脑连接并直接在Android Studio中运行该程序,一切正常。 但现在我想用其他智能手机测试该程序而不将它们连接到我的电脑上。
每次编译程序时,ADT都会在“projectname / bin”下创建.apk文件。我是如何在Android Studio不这样做时看到的。
所以我的问题是可以用Android Studio创建一个未签名的.apk文件吗?
答案 0 :(得分:282)
我建议您使用Gradle构建您的APK文件:
assemble
您的未签名APK现在位于
ProjectName\app\build\outputs\apk
有关如何使用Gradle的详细信息,本教程最好:Building with Gradle in Android Studio。我还写了一篇关于如何使用Gradle构建未签名APK的blog post。
如果您将项目从其他IDE移动而又不想重新编译,您可能会发现已在您移动的IDE中构建的APK文件:
如果您使用Android Studio生成项目,则会在ProjectName/ProjectName/build/apk/...
从eclipse导入项目:文件应该在同一目录中。转到Project
- Show in Explorer
。在那里,你应该找到你的APK文件所在的bin文件夹。
从IntelliJ导入,位置为ProjectName/out/production/...
旁注: 正如Chris Stratton在评论中提到的那样:
从技术上讲,你想要的是一个用调试密钥签名的APK。一个APK 实际上未签名的设备将被拒绝。
答案 1 :(得分:218)
根据Build Unsigned APK with Gradle,您只需使用gradle构建应用程序即可。 为了做到这一点:
Edit configurations
alt+insert
Gradle
Gradle project
Tasks:
中输入assemble
OK
之后你应该找到你未签名的' apk'在目录中
ProjectName\app\build\outputs\apk
答案 2 :(得分:81)
最简单的方法,我想:
答案 3 :(得分:30)
只需转到BUILD->构建APK并完成
答案 4 :(得分:22)
第1步 打开android工作室。构建 - >生成签名APK ....现在点击“生成签名APK”。
第2步
单击“新建”。
第3步
jks关键细节,它将返回上一个窗口。
单击“下一步”,然后输入存储在密钥中的密码。
第4步
现在单击“完成”并等待完成构建过程。
现在apk已成功生成。单击“在资源管理器中显示”。
如果您需要更多详情,请访问并查看实时演示http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs
答案 5 :(得分:16)
答案 6 :(得分:14)
是的,可以使用Android Studio创建未签名的.apk!
在包浏览器或项目列中突出显示项目,然后File
- Project Structure
- Artifacts
- +
- Android Application
- {{1}然后你可以改变位置和一些其他选项。我启用了make on build,只是为了方便。
答案 7 :(得分:11)
转到您的应用程序\ app \ build \ outputs \ apk
并将两者都复制到手机并安装app-debug.apk
答案 8 :(得分:9)
在OSX上使用Android Studio 2.2.3我只使用了顶部菜单:
Build > Build APK
使用.apk
文件打开Finder。这不会生成签名的APK。如果需要,您可以从同一菜单中选择Generate Signed APK
。
答案 9 :(得分:9)
Build -> Build APK //unsigned app
Build -> Generate Signed APK //Signed app
答案 10 :(得分:5)
AndroidStudio 3.4
Grade Build Running
完成后,您会在右下角看到通知,例如。
点击locate
,您将看到可调试的APK
答案 11 :(得分:4)
为我工作:
如果您在build.gradle中进行了设置,请将以下设置留空。
signingConfigs {
release {
storePassword ""
keyAlias ""
keyPassword ""
}
}
并从“编辑器”窗口中选择“Gradle任务”。如果您已创建,它将显示所有风味的列表。
答案 12 :(得分:3)
---在signingConfigs中创建新配置
unsigned {
//do not sign
}
---在buildTypes中创建构建类型
unsigned {
versionNameSuffix '-unsigned'
}
---转到构建变体并选择无符号标准。建立项目。
---转到“outputs / apk”并找到“XXX-unsigned.apk”。要检查它是否未签名,请尝试将其安装到设备上 - 您将失败。
答案 13 :(得分:2)
现在在Android Studio v1.1.0中应该是:
Run
&gt; Run <your app>
<your app>\build\outputs\apk
答案 14 :(得分:1)
Android studio也会在每次编译程序时创建apk文件,只需转到您的工作区文件夹并找到app-&gt; build-&gt; outputs-&gt;然后你可以看到apk文件。
答案 15 :(得分:1)
您可以点击工具栏上的“运行”按钮附近的下拉列表
现在按确定,
现在您需要做的就是从下拉列表中选择您的配置并按下运行按钮。这需要一些时间。您的未签名apk现在位于
Project\app\build\outputs\apk
答案 16 :(得分:0)
我解决了!
首先,您应该添加以下内容:
defaultConfig {
multiDexEnabled true
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
之后,您应该点击Android Studio顶部栏中的构建:
构建>构建包/ APK>构建APK
最后,您在以下位置有一个 app-debug.apk 文件:
app>构建>输出> apk>调试> app-debug.apk
注意:由Android Studio在输出文件中自动创建的APK,调试, app-debug.apk 文件。
答案 17 :(得分:0)
创建未签名APK的步骤
Steps for creating unsigned APK
• Click the dropdown menu in the toolbar at the top
• Select "Edit Configurations"
• Click the "+"
• Select "Gradle"
• Choose your module as a Gradle project
• In Tasks: enter assemble
• Press Run
• Your unsigned APK is now located in - ProjectName\app\build\outputs\apk
Note : Technically, what you want is an APK signed with a debug key. An APK that is actually unsigned will be refused by the device. So, Unsigned APK will give error if you install in device.
注意:从技术上讲,您想要的是一个用调试密钥签名的APK。实际未签名的APK将被设备拒绝。因此,如果您在设备中安装了Unsigned APK,则会出现错误。
答案 18 :(得分:0)
对于未签名的APK::只需将signingConfig设置为null。它将为您提供appName-debug-unsigned.apk
debug {
signingConfig null
}
然后从“构建”菜单进行构建。享受
对于已签名的APK:
signingConfigs {
def keyProps = new Properties()
keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
internal {
storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
storePassword keyProps.getProperty('STORE_PASSWORD')
keyAlias keyProps.getProperty('KEY_ALIAS')
keyPassword keyProps.getProperty('KEY_PASSWORD')
}
}
buildTypes {
debug {
signingConfig signingConfigs.internal
minifyEnabled false
}
release {
signingConfig signingConfigs.internal
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
keystore.properties文件
CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0