Я загружаю файл aar с сайта https://maven.google.com/web/index.html ... yout:2.2.0 и использовал этот сценарий сборки в качестве руководства по сборке пакета приложения Android без студии gradle/android, он успешно собирается без каких-либо запросов ошибки, однако во время выполнения выдает ошибку:
Код: Выделить всё
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.helloworld/com.example.helloworld.main}: android.view.InflateException: Binary XML file line #2 in com.example.helloworld:layout/activity_main: Binary XML file line #2 in com.example.helloworld:layout/activity_main: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3645)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3782)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7965)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
Caused by: android.view.InflateException: Binary XML file line #2 in com.example.helloworld:layout/activity_main: Binary XML file line #2 in com.example.helloworld:layout/activity_main: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: android.view.InflateException: Binary XML file line #2 in com.example.helloworld:layout/activity_main: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: java.lang.ClassNotFoundException: androidx.constraintlayout.widget.ConstraintLayout
Вот пошаговая инструкция по сборке приложения. (при условии, что загруженный файл AAR уже извлечен и debug.keystore уже создан):
Код: Выделить всё
aapt2 compile --dir res -o resources.zip
aapt2 compile --dir constraintlayout-2.2.0/res -o resources-constraintlayout.zip
aapt2 link --manifest AndroidManifest.xml --auto-add-overlay -R ./resources-constraintlayout.zip --java generated/ -I ~/Android/Sdk/platforms/android-34/android.jar -o ./sample.apk resources.zip
javac -classpath constraintlayout-2.2.0/classes.jar -classpath ~/Android/Sdk/platforms/android-34/android.jar -source 17 -target 17 -sourcepath com:generated generated/com/example/helloworld/R.java com/example/helloworld/main.java -d build/obj
d8 --release --classpath constraintlayout-2.2.0/classes.jar --classpath ~/Android/Sdk/platforms/android-34/android.jar --output . $(find build/obj/ -type f)
zip -uj ./sample.apk classes.dex
zipalign -p -f -v 4 ./sample.apk ./aligned_sample.apk
apksigner sign --ks debug.keystore --ks-pass pass:android --out ./signed_sample.apk ./aligned_sample.apk
Подробнее здесь: https://stackoverflow.com/questions/793 ... d-properly
Мобильная версия