[英]When I try to open my app in Mobile or Android Studio. It says cannot read app data failed to launch app
我將以前項目中的代碼復制到了這個新項目中,我偶然發現了這個錯誤。 我試圖重建項目。 我不確定是不是。 我會為您提供您想要的任何信息。 我嘗試在 Android Studio 中運行,它確實給了我除此之外的任何東西
06/14 22:23:30: Launching 'app' on Copy_of_Pixel 3a API 24 Backup.
App restart successful without requiring a re-install.
$ adb shell am start -n "com.example.turnovernodes/com.example.turnovernodes.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
AndroidManifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.turnovernodes">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.TurnOverHosting"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="false"
tools:ignore="IntentFilterExportedReceiver">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-7460030581005035~1600535246" />
</application>
</manifest>
MainActivity.java
package com.example.turnovernodes;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.ads.AdError;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.FullScreenContentCallback;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.OnUserEarnedRewardListener;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
import com.google.android.gms.ads.rewarded.RewardItem;
import com.google.android.gms.ads.rewarded.RewardedAd;
import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback;
import java.io.IOException;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
Button loadad;
Button showad;
TextView point;
TextView status_text;
EditText discord_id;
RewardedAd mRewardedAd;
Integer Ads_Watched = 0;
Integer Credits_Earned = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loadad = findViewById(R.id.loadadbutton);
showad = findViewById(R.id.showadbutton);
point = findViewById(R.id.point);
status_text = findViewById(R.id.status_text);
discord_id = findViewById(R.id.discord_id);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
new android.os.Handler().postDelayed(
new Runnable() {
public void run() {
Log.i("tag", "Initialization complete");
status_text.setText("Initialization complete. Make sure you put your discord ID above");
}
}, 5000);
}
});
loadad.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String str_discord_id = discord_id.getText().toString().replaceAll("\\s+", "");
if (str_discord_id.equals("") || str_discord_id.length() != 18) {
status_text.setText("Please enter a valid discord user ID.\nMake sure it is 18 digits long");
return;
}
Log.d("TAG", "Loading ad");
status_text.setText("Loading ad");
AdRequest adRequest = new AdRequest.Builder().build();
RewardedAd.load(com.example.turnovernodes.MainActivity.this, "\n" +
"ca-app-pub-7460030581005035/5128716716",
adRequest, new RewardedAdLoadCallback() {
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error.
Log.d("TAG", loadAdError.getMessage());
mRewardedAd = null;
status_text.setText("Ad load failed");
}
@Override
public void onAdLoaded(@NonNull RewardedAd rewardedAd) {
mRewardedAd = rewardedAd;
Log.d("TAG", "Ad was loaded.");
status_text.setText("Ad loaded and ready to be watched.\nClick SHOW AD to watch");
}
});
}
});
showad.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String str_discord_id = discord_id.getText().toString().replaceAll("\\s+", "");
if (str_discord_id.equals("") || str_discord_id.length() != 18) {
status_text.setText("Please enter a valid discord user ID.\nMake sure it is 18 digits long");
return;
}
status_text.setText("Trying to show ad");
if (mRewardedAd != null) {
Activity activityContext = MainActivity.this;
mRewardedAd.show(activityContext, new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
// Handle the reward.
Log.d("TAG", "The user earned the reward.");
int rewardAmount = rewardItem.getAmount();
String rewardType = rewardItem.getType();
Ads_Watched++;
Credits_Earned += rewardAmount;
point.setText("Ads Watched: " + Ads_Watched.toString() + "\nCredits Earned: " + Credits_Earned.toString());
try {
Executor executor = Executors.newSingleThreadExecutor();
executor.execute(new Runnable() {
@Override
public void run() {
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create("{ \"credits\": \"" + rewardAmount + "\" }", JSON);
Request request = new Request.Builder()
.url("https://dash.turnover.ga/api/users/" + discord_id.getText().toString() + "/increment")
//.url("https://ApiRouter.fanisus.repl.co?credits=20")
.header("Authorization", "Bearer " + "E61kOmVMh85gdww5ey194K83eCAU0ICrWJwYh-P0_H0PuE8R")
.patch(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println("Dataaaaaaaaaaa: " + response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
});
status_text.setText("Ad watched and credits added");
} catch (Exception e) {
e.printStackTrace();
status_text.setText("Error: " + e.toString());
}
mRewardedAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d("TAG", "Ad was shown.");
status_text.setText("Ad was shown");
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.d("TAG", "Ad failed to show.");
status_text.setText("Ad failed to show");
}
@Override
public void onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d("TAG", "Ad was dismissed.");
mRewardedAd = null;
}
});
// status_text.setText("The user earned " + rewardAmount + " " + rewardType);
}
});
} else {
Log.d("TAG", "The ad is not loaded yet");
status_text.setText("The ad is not loaded yet. Please click LOAD AD button if you haven't clicked it.");
}
}
});
}
}
ActivityMain.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="TurnOver Nodes"
android:textSize="40sp"
app:layout_constraintBottom_toTopOf="@+id/discord_id"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.495"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.653" />
<TextView
android:id="@+id/status_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Please put your discord user id"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/showadbutton"
app:layout_constraintVertical_bias="0.341" />
<TextView
android:id="@+id/point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Ads Watched: 0\nCoins: 0"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/loadadbutton"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="Load Ad"
app:layout_constraintBottom_toTopOf="@+id/showadbutton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/point" />
<Button
android:id="@+id/showadbutton"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="Show Ad"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/point" />
<EditText
android:id="@+id/discord_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Put your Discord ID here"
android:inputType="textPersonName"
android:minHeight="48dp"
app:layout_constraintBottom_toTopOf="@+id/point"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.785" />
</androidx.constraintlayout.widget.ConstraintLayout>```
我從 Manifest 中刪除了這一行,但沒有顯示錯誤
tools:ignore="IntentFilterExportedReceiver">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.