我开发了一款使用Parse和push notifications(GCM Google Cloud Messaging)的小游戏.但是,当我尝试将我的应用程序上传到亚马逊商店时,他们说它不会在某些设备上发布,因为它使用的是GCM.
所以,解决方案很简单,只需删除即可notifications.我遇到的问题是我想尽可能地自动生成apk代.在iOS下(我是iOS开发人员,Android新手),我只创建2个目标并使用DEFINE我可以根据目标修改代码.我想有类似的东西,所以我manifest在亚马逊版本中使用另一个,当然我删除了推送代码.
使用时我该怎么做Android Studio?我怀疑我必须使用gradle或者模块的概念,因为在创建signed apk时Android Studio我必须选择“app” module.
你有什么想法,建议或链接吗?谢谢.
android amazon-appstore android-studio android-productflavors
我希望能够为我的应用程序的调试和发布版本设置不同的东西,我的两种风格.我认为我需要的东西是应用程序名称,应用程序图标,以及用于各种第三方库的密钥的一些字符串,例如Flurry,Crashlytics.
如果我只是创建一个名为debug的文件夹,我可以调试工作,但它将是两种风格的相同资源,我希望它们用于差异风格.
android android-resources android-gradle-plugin android-productflavors
有没有一种方法可以在build.gradle中为不同的productFlavors指定不同的应用程序标签(名称)?例如这样的事情:
productFlavors {
stage {
app name with "-stage" suffix
}
preprod {
app name with "-preprod" suffix
}
prod {
app name without any suffix
}
}
Run Code Online (Sandbox Code Playgroud) android gradle build.gradle android-gradle-plugin android-productflavors
是否可以更改默认的口味根路径?
从:
---src
-----main
-----flavor1
-----flavor2
-----flavor3
Run Code Online (Sandbox Code Playgroud)
至:
---src
-----main
-----flavors
--------flavor1
--------flavor2
--------flavor3
Run Code Online (Sandbox Code Playgroud) 如何根据风味创建活动的意图?
等级制度:
main
-ActivityA
flavor(free)
-uses main/ActivityA
flavor(paid)
-uses own paid/ActivityA
Run Code Online (Sandbox Code Playgroud)
那么如何根据当前的风格创建一个 Intent 呢?
android android-intent android-activity android-productflavors
我正在计划我的应用的广告与无广告版本.我已经设置了两个app风格.
在我的XML中,这个AdMob教程说我将其添加到我的活动XML中以保存横幅广告:
<com.google.android.gms.ads.AdView
android:id="@+id/admob_adview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_footer" />
Run Code Online (Sandbox Code Playgroud)
然后在代码中,教程说:
public class MainActivity extends AppCompatActivity {
private AdView mAdMobAdView;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAdMobAdView = (AdView) findViewById(R.id.admob_adview);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("4DD0986B8BB49093161F4F00CF61B887")// Add your real device id here
.build();
mAdMobAdView.loadAd(adRequest);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getApplicationContext(), ActivityTwo.class));
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我只希望这个广告在一种风格上与另一种风格显示,那么在不违反任何规则的情况下处理这种风格的正确方法是什么?通常会通过类似的方式检查口味
if (BuildConfig.FLAVOR.equals("adfree")) {
//no ads
}
else …Run Code Online (Sandbox Code Playgroud) 我有一个使用~30种产品口味的项目.除了"主要"代码之外,它们的味道并不多,只有一些独特的资源.由于有这么多,我想构建我的代码目录,使其更有条理:
但是当它们处于与"main"文件夹不同的级别时,构建不会识别它们的味道.有什么方法可以让我的工作吗?
我在不同的Firebase环境(开发和生产)下构建了Flutter应用程序的不同风格。我需要为iOS应用程序的Xcode中的开发和生产设置不同的包ID。
我使用方案来配置不同的样式(在“构建设置”中,为每个配置添加环境值)。
但是我对变革有很大的问题$(PRODUCT_BUNDLE_IDENTIFIER)。我需要.development在普通应用程序ID中添加后缀,以获取开发应用程序ID。
我已经尝试遵循此方法(使用“用户定义的设置”)并更改info.plist为从“用户定义的设置”获取变量,但是它不起作用。
错误是:
该操作无法完成。FrontBoard未知应用程序“ $(EXAMPLE_BUNDLE_ID)”。
因此,似乎在传递“用户定义的设置”时插值不正确。
我也尝试添加默认值PRODUCT_BUNDLE_IDENTIFIER和用户定义设置的混合方法。例如:com.example.app$(EXAMPLE_BUNDLE_ID)where EXAMPLE_BUNDLE_ID=.development
我也尝试$(EXAMPLE_BUNDLE_ID)通过直接将用户定义设置添加到“身份”下“目标常规”选项卡中的捆绑包标识符中来引用用户定义设置。但这然后更改为:-- EXAMPLE_BUNDLE_ID-
我也尝试info.plist将$(PRODUCT_BUNDLE_IDENTIFIER)$(EXAMPLE_BUNDLE_ID)Bundle Identifier值使用。但这给出了类似的错误:
该操作无法完成。FrontBoard未知应用程序“ com.example.app $(EXAMPLE_BUNDLE_ID)”。
同样,这看起来像插值问题。
有人知道解决方案吗?我看了但是找不到答案。
这对于android来说很容易,因为仅用于applicationIdSuffix ".development”中productFlavors。但是我找不到Xcode这样的方法。