Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/03/2021, à 11:06

alex2423

[Andoid Stutio] Comment générer un Hello world sans erreur

Hello tout le monde,

Je suis en train de m'initier au développement d'application mobile via l'IDE Android Studio avec des vidéo Youtube, mais pas moyen de générer un fichier apk, même un simple Hello World.

Mon fichier AndroidManifest.xml :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.applitestapk">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppliTestApk">
        <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>

Mon xml : src/main/res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="15pt"
        android:text="Hello World!" />
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/tracteur_redim" />
</LinearLayout>

Et mon fichier activity : src/main/java/com/example/applitestapk/MainActivity.java

package com.example.applitestapk;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

La vue de mon Android Studio
https://i.imgur.com/I9Hv4BH.png

Pour générer le fichier APK, je vais dans Android Studio :
1./Generated Signe Bundle or APK
2./ Je créé un keystore bidon
https://i.imgur.com/jXdN8xx.png
3./ Je choisis Release comme comme type de Build en V2
https://i.imgur.com/cKmfKYA.png
4./ Et en appuyant, sur finich, j'ai le rapport qui me di que c'est okay :

10:50	Gradle build finished in 1 s 342 ms

10:50	Generate Signed APK
			APK(s) generated successfully for module 'AppliTestApk.app' with 1 build variant:
			Build variant 'release': locate or analyze the APK.

5./ Je récupère mon fichier AndroidStudioProjects/AppliTestApk/app/release/app-release.apk que j'envoie sur mon téléphone
6./ Et j'obtiens le message d'erreur sur mon téléphone :

Parse Error: There was a problem parsing the package

Sur un appareil virtuel, cela fonctionne parfaitement mais pas sur mon téléphone physiquement. C'est tout de même baleau, parce que le but est un jour de le déployer sur son téléphone.
Je ne suis pas du tout intéressé par déployer une application sur le Play Store. Dans un premier temps ce serait pour un usage privé, donc par le biais d'un fichier apk.

La personne semble avoir exactement le même problème que moi, mais pas de solution :
https://stackoverflow.com/questions/568 … he-package

Lorsque j'ai créé mon projet, j'ai rendu compatible à partir de Android 4.4 Kikat. Donc je suis largement bon en terme de compatibilité.

Est ce que j'ai raté quelque chose ?
Est ce qu'il est possible de générer un fichier non signé? J'ai l'impression que cela rajoute de la complexité, peut être que ce n'est pas obligatoire.

Hors ligne

#2 Le 25/03/2021, à 11:29

alex2423

Re : [Andoid Stutio] Comment générer un Hello world sans erreur

Euréca, je viens de trouver enfin de compte. smile
Pour générer un apk non signé

I would recommend you to build your APK file with Gradle:
    Click the dropdown menu in the toolbar at the top (Open 'Edit Run/Debug configurations' dialog)
    Select "Edit Configurations"
    Click the "+"
    Select "Gradle"
    Choose your module as a Gradle project
    In Tasks: enter assemble
    Press Run

source : https://stackoverflow.com/questions/167 … 9#16709979

Cela génére 2 fichiers en mode release et debug.
Avec le fichier release, j'ai le message d'erreur.
Avec le fichier debug, je n'ai pas plus direct le message d'erreur, on me laisse la possibilité d'installer le programme puis je peux le lancer.

J'ai donc une solution mais je ne suis pas certain que ce soit une solution.

Hors ligne