【发布时间】:2022-06-16 23:04:52
【问题描述】:
我跟随this tutorial 从命令行构建Android 应用程序。这是我使用 USB 调试在我的设备上构建和安装应用程序的批处理脚本。
aapt package -f -m -J build\gen\ -S res -M AndroidManifest.xml -I "%ANDROID_HOME%\platforms\android-30\android.jar"
javac -source 1.7 -target 1.7 -bootclasspath "%JAVA_HOME%\jre\lib\rt.jar" -classpath "%ANDROID_HOME%\platforms\android-30\android.jar" -d build\obj build\gen\net\hanshq\hello\R.java src\net\hanshq\hello\MainActivity.java
java -jar "%ANDROID_HOME%\build-tools\30.0.0\lib\dx.jar" --dex --output=build\apk\classes.dex build\obj
aapt package -f -M AndroidManifest.xml -S res\ -I "%ANDROID_HOME%\platforms\android-30\android.jar" -F build\Hello.unsigned.apk build\apk
zipalign -f -p 4 build\Hello.unsigned.apk build\Hello.aligned.apk
call apksigner sign --ks debug.keystore --ks-key-alias androiddebugkey --ks-pass pass:android --key-pass pass:android --out build\Hello.apk build\Hello.aligned.apk
adb install -r build\Hello.apk
adb shell am start -n net.hanshq.hello/.MainActivity
我使用 OpenJDK-17、Android-30 平台版本和 Android 30.0.0 构建工具版本。
这是 AndroidManifest.xml 文件。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.hanshq.hello"
versionCode="1"
versionName="0.1">
<uses-sdk android:minSdkVersion="30"/>
<application android:label="Hello">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
我想问的是,当我将 minSdkVersion 设置为 30 时,它在我的设备上安装得很好。但是,当我将它设置为像 21 这样的较低值时,它仍然安装正确,但会输出这样的警告弹出窗口。
此应用是为旧版 Android 构建的,可能无法正常运行。尝试检查更新,或联系开发者。
我想问的是这个警告与minSdkVersion的值有关还是因为我使用的Android SDK平台和构建工具的版本?提前感谢您的回答。
编辑: 我的设备运行的是 Android 11 操作系统
【问题讨论】:
标签: java android windows command-line sdk